国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > HTML5 > 正文

Html5 APP中監聽返回事件處理的方法示例

2024-09-05 07:22:26
字體:
來源:轉載
供稿:網友

在使用MUI框架的時候,我們經常會用到一個頭部帶有.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>            <h1 class="mui-title">貨物查詢</h1>        </header>

點擊該頭部的返回標識,則會返回到上一個頁面,

//以下是mui.js中的源碼,可以看到,在點擊返回的時候,內部做了以下的操作//$.hook={}是專門用于記錄瀏覽的歷史的。$.back = function() {        if (typeof $.options.beforeback === 'function') {            if ($.options.beforeback() === false) {                return;            }        }        $.doAction('backs');    };$.doAction = function(type, callback) {//返回上一個記錄        if ($.isFunction(callback)) { //指定了callback            $.each($.hooks[type], callback);        } else { //未指定callback,直接執行            $.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];    };

當我們把H5封裝成APP時,我們用到的5+接口存在webview這一個概念,即是一個窗口。

而剛開始我則沒有特意去區分這兩個概念,所以有時候新建窗口打開網頁,又或者有時候直接

通過網址來跳轉比如:location.href。

這樣就會導致,在監聽手機的back按鍵時,出現了一種情況,其場景大致是下面這樣:

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

2、通過location.href跳轉到登錄界面,而并非通過創建webview打開。

3、登陸后進入功能頁面,再按返回,又返回到了登錄頁面。預期是希望,我登錄完后,如果點擊手機的返回鍵,直接退出的。為此特意了解了MUI的回退函數,我們可以通過復寫這個方法來實現

在需要監聽的頁面:

mui.back=function(){//寫你監聽返回鍵后需要做的操作

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

而將所有的跳轉頁面都作為窗體打開,則不會出現以上問題。每個窗口都能正常監聽mui.back自定義的function

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浙江省| 宝应县| 滦平县| 封开县| 北票市| 吴川市| 南京市| 宁陕县| 方山县| 沅江市| 台北市| 苏州市| 诸暨市| 玉环县| 龙胜| 奎屯市| 乌鲁木齐市| 绥江县| 桂林市| 偃师市| 庆云县| 泰州市| 桐乡市| 福贡县| 大悟县| 嵩明县| 乌鲁木齐市| 连城县| 民县| 卢湾区| 沧源| 长春市| 五寨县| 连山| 吉隆县| 正阳县| 乌苏市| 保亭| 扎赉特旗| 电白县| 延寿县|