Home > Article > Web Front-end > APP listening return event processing in H5
This time I will bring you the event processing of APP monitoring return in H5. What are the precautions for APP monitoring return event processing in H5. The following is a practical case. Let’s take a look. one time.
When using the MUI framework, we often use a class with .mui-action-back in the header<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>Click on the return icon of the header to return to Previous page,
//以下是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]; };When we encapsulate H5 into an APP, the 5+ interface we use has the concept of webview, which is a window. At the beginning, I didn't deliberately distinguish between these two concepts, so sometimes I created a new window to open a web page, or sometimes I directly jumped through the URL, such as: location.href. This will lead to a situation when monitoring the back button of the mobile phone. The scenario is roughly as follows: 1. Open the software and enter the homepage (main.html=> ;HBuilder[webview]) [The former represents the local access path of the URL, and the latter is the ID of the window webview]. 2. Jump to the login interface through location.href instead of opening it by creating a webview. 3. After logging in, enter the function page, press Return again, and return to the login page. The expectation is that after I log in, if I click the return button on my phone, I will log out directly. For this purpose, we specially learned about the rollback function of MUI. We can implement this by overriding this method. On the page that needs to be monitored:
mui.back=function(){ //写你监听返回键后需要做的操作However, if we still jump and create windows according to the previous webpage Mixing the two modes will cause unexpected results, that is, mui.back can only be monitored in If all jump pages are opened as forms, the above problems will not occur. Each window can normally monitor the mui.back custom functionI believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website! Recommended reading:
Tips for using max-width and min-width
MySQL reset Root in Mac system password
The above is the detailed content of APP listening return event processing in H5. For more information, please follow other related articles on the PHP Chinese website!