千家信息网

H5中APP监听返回事件处理的示例分析

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关H5中APP监听返回事件处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用MUI框架的时候,我们经常会用到一个头部带有.
千家信息网最后更新 2025年11月07日H5中APP监听返回事件处理的示例分析

这篇文章将为大家详细讲解有关H5中APP监听返回事件处理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在使用MUI框架的时候,我们经常会用到一个头部带有.mui-action-back的class

货物查询

点击该头部的返回标识,则会返回到上一个页面,

//以下是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

关于"H5中APP监听返回事件处理的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

监听 页面 事件 入口 文件 登录 时候 窗体 篇文章 示例 分析 处理 历史 头部 情况 手机 更多 有时候 概念 网页 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大同网络安全主题教育 虹口区口碑好的软件开发代理品牌 广东常见软件开发收费 数据库建立共享目录 软件开发培训机构选极客时间 网络安全自学好还是老师教 投标软件开发合理化建议 宽城区品质网络技术咨询排名靠前 数据库中设置字段属性用什么视图 廊坊软件开发制作 加强网络安全进行策略调整 我的世界租借服务器公告栏指令 怎样清除手机数据库中的记录 进销存管理软件开发周期 邯郸软件开发解决方案 数据库sql语句去空格 室外效果图软件开发 网络技术简单面试题 辅助管理服务器推荐 事业单位网络安全管理岗位 服务器安全类型端口 软件开发收据怎么写 样本 网络安全与管理的选题意义 为什么要研究无线网络安全 数据库技术及应用第一版王成良 海康服务器磁盘阵列说明书 竖锯网络技术 网络安全的法律是哪些 湛江旅游软件开发公司 网络技术教学方式问卷调查
0