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> Cargo inquiry</h1> </header>
Click the return logo in the header to return to the previous page.
//The following is the source code in mui.js. You can see that when clicking to return, the following operations are performed internally //$.hook={} is specially used to record browsing history. $.back = function() { if (typeof $.options.beforeback === 'function') { if ($.options.beforeback() === false) { return; } } $.doAction('backs' ); };$.doAction = function(type, callback) {//Return to the previous record if ($.isFunction(callback)) { //Specified callback $.each($.hooks[type], callback); } else { //No callback is specified, execute directly $.each($.hooks[type], function(index, hook) { return !hook.handle(); }); } };$.addAction = function(type, hook) {//Add history 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 opened a new window to open the web page, or sometimes I directly
Jump 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 reason, we specially learned about the rollback function of MUI. We can achieve this by overriding this method.
On the page that needs to be monitored:
mui.back=function(){//Write the operations you need to do after monitoring the return key
However, if you still use the previous two modes of web page jump and form creation, unexpected results will occur. That is, mui.back can only be monitored in the entry file, and monitoring done in other pages or forms will not be possible. is triggered, all are monitored by the entry file mui.ba ck capture, only the monitoring business logic of the entry file will be executed. This leads to the embarrassing situation of returning to the previous page without customizing the return event: for example, returning to the login page, and customizing Returning the events, we found that all events were monitored by the entry file. This means that it makes no sense to write mui.back=function(){} on other pages.
If all jump pages are opened as forms, the above problems will not occur. Each window can normally listen to the mui.back custom function
The above is the entire content of this article. I hope it will be helpful to everyone’s study. I also hope everyone will support VeVb Wulin Network.