成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

H5中APP監(jiān)聽(tīng)返回事件處理的示例分析-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)H5中APP監(jiān)聽(tīng)返回事件處理的示例分析,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司專(zhuān)注為客戶(hù)提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、涉縣網(wǎng)絡(luò)推廣、微信小程序定制開(kāi)發(fā)、涉縣網(wǎng)絡(luò)營(yíng)銷(xiāo)、涉縣企業(yè)策劃、涉縣品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供涉縣建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com

在使用MUI框架的時(shí)候,我們經(jīng)常會(huì)用到一個(gè)頭部帶有.mui-action-back的class

<header class="mui-bar mui-bar-nav">
            <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
            <h2 class="mui-title">貨物查詢(xún)</h2>
        </header>

點(diǎn)擊該頭部的返回標(biāo)識(shí),則會(huì)返回到上一個(gè)頁(yè)面,

//以下是mui.js中的源碼,可以看到,在點(diǎn)擊返回的時(shí)候,內(nèi)部做了以下的操作
//$.hook={}是專(zhuān)門(mén)用于記錄瀏覽的歷史的。
$.back = function() {
        if (typeof $.options.beforeback === 'function') {
            if ($.options.beforeback() === false) {
                return;
            }
        }
        $.doAction('backs');
    };
$.doAction = function(type, callback) {//返回上一個(gè)記錄
        if ($.isFunction(callback)) { //指定了callback
            $.each($.hooks[type], callback);
        } else { //未指定callback,直接執(zhí)行
            $.each($.hooks[type], function(index, hook) {
                return !hook.handle();
            });
        }
    };
$.addAction = function(type, hook) {//添加歷史記錄
        var hooks = $.hooks[type];
        if (!hooks) {
            hooks = [];
        }
        hook.index = hook.index || 1000;
        hooks.push(hook);
        hooks.sort(function(a, b) {
            return a.index - b.index;
        });
        $.hooks[type] = hooks;
        return $.hooks[type];
    };

當(dāng)我們把H5封裝成APP時(shí),我們用到的5+接口存在webview這一個(gè)概念,即是一個(gè)窗口。

而剛開(kāi)始我則沒(méi)有特意去區(qū)分這兩個(gè)概念,所以有時(shí)候新建窗口打開(kāi)網(wǎng)頁(yè),又或者有時(shí)候直接

通過(guò)網(wǎng)址來(lái)跳轉(zhuǎn)比如:location.href。

這樣就會(huì)導(dǎo)致,在監(jiān)聽(tīng)手機(jī)的back按鍵時(shí),出現(xiàn)了一種情況,其場(chǎng)景大致是下面這樣:

1、打開(kāi)軟件進(jìn)入主頁(yè)(main.html=>HBuilder[webview])【前者表示URL的本地訪問(wèn)路徑,后者是窗口webview的ID】。

2、通過(guò)location.href跳轉(zhuǎn)到登錄界面,而并非通過(guò)創(chuàng)建webview打開(kāi)。

3、登陸后進(jìn)入功能頁(yè)面,再按返回,又返回到了登錄頁(yè)面。預(yù)期是希望,我登錄完后,如果點(diǎn)擊手機(jī)的返回鍵,直接退出的。為此特意了解了MUI的回退函數(shù),我們可以通過(guò)復(fù)寫(xiě)這個(gè)方法來(lái)實(shí)現(xiàn)

在需要監(jiān)聽(tīng)的頁(yè)面:

mui.back=function(){
//寫(xiě)你監(jiān)聽(tīng)返回鍵后需要做的操作

但是,如果還是按照之前網(wǎng)頁(yè)跳轉(zhuǎn)和創(chuàng)建窗體兩種模式混合使用會(huì)出現(xiàn)意想不到的結(jié)果,也就是mui.back只能在入口文件被監(jiān)聽(tīng),在其他頁(yè)面或窗體做的監(jiān)聽(tīng)都不會(huì)被觸發(fā),全部被入口文件的監(jiān)聽(tīng)事件mui.back捕獲了,只會(huì)執(zhí)行入口文件的監(jiān)聽(tīng)業(yè)務(wù)邏輯,這樣就導(dǎo)致了,在不自定義返回事件的時(shí)候,我們沒(méi)法避免返回上一個(gè)頁(yè)面的尷尬情況:比如回退到了登錄頁(yè)面,而自定義返回事件,發(fā)現(xiàn)所有的事件都被入口文件監(jiān)聽(tīng)了。這意味著其他頁(yè)面寫(xiě)mui.back=function(){}是沒(méi)有意義的。

而將所有的跳轉(zhuǎn)頁(yè)面都作為窗體打開(kāi),則不會(huì)出現(xiàn)以上問(wèn)題。每個(gè)窗口都能正常監(jiān)聽(tīng)mui.back自定義的function

關(guān)于“H5中APP監(jiān)聽(tīng)返回事件處理的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

標(biāo)題名稱(chēng):H5中APP監(jiān)聽(tīng)返回事件處理的示例分析-創(chuàng)新互聯(lián)
本文來(lái)源:http://jinyejixie.com/article46/dejihg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、面包屑導(dǎo)航、ChatGPT、微信公眾號(hào)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
阜阳市| 奎屯市| 申扎县| 巢湖市| 乌恰县| 阳曲县| 房山区| 和硕县| 河南省| 乾安县| 黄龙县| 阳信县| 庄浪县| 建宁县| 陇川县| 栾城县| 五大连池市| 双牌县| 忻城县| 紫阳县| 成安县| 晋州市| 文水县| 迁西县| 扬中市| 黄山市| 建昌县| 乌拉特前旗| 团风县| 禹城市| 凌海市| 双鸭山市| 济宁市| 班戈县| 定陶县| 潢川县| 舟山市| 涞水县| 罗定市| 南乐县| 连山|