zoukankan      html  css  js  c++  java
  • 利用mui框架监听安卓手机物理返回按键

    在index.html的监听事件

     1 var flage = true;
     2 window.addEventListener("hashchange", myFunction);
     3   function myFunction() {
     4   //    console.log(location.hash)
     5   //这里根据自己根目录而定
     6     if(location.hash == '#/' || location.hash == '#/login' || location.hash == '#/login/index1'){
     7       flage = false
     8   }else{
     9       flage = true
    10   }
    11 }

    改变mui.js

     1 wobj.canBack(function(e) {
     2   //by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回;
     3   //    alert(!!e.canBack)
     4   //本来是e.canBack  改为flage 接收到主页返回的flage,从而判断是连点两次退出应用还是返回历史记录(主要改变这里)
     5   if (flage) { //webview history back
     6     window.history.back();
     7   } else { //webview close or hide
     8     //fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close
     9   if (wobj.id === plus.runtime.appid) { //首页
    10     //首页不存在opener的情况下,后退实际上应该是退出应用;
    11     //首次按键,提示‘再按一次退出应用’
    12   if (!$.__back__first) {
    13     $.__back__first = new Date().getTime();
    14     mui.toast('再按一次退出应用');
    15     setTimeout(function() {
    16     $.__back__first = null;
    17   }, 2000);
    18   } else {
    19     if (new Date().getTime() - $.__back__first < 2000) {
    20       plus.runtime.quit();
    21     }
    22   }
    23 } else { //其他页面,
    24   if (wobj.preload) {
    25     wobj.hide("auto");
    26   } else {
    27     //关闭页面时,需要将其打开的所有子页面全部关闭;
    28   $.closeAll(wobj);
    29     }
    30   }
    31 }
    32 });

    总结:当页面的路径为'#/', '#/login','#/login/index1'(你想连点两次退出应用的路径)时,监听事件生效!否则返回历史记录!

  • 相关阅读:
    RESTFUL 设计风格
    GET与POST的区别
    pycharm 对数据库进行可视化操作
    ORM 的基本操作
    pycharm 直接删掉数据表之后,makemigration和migrate 之后,数据库中依然没有生成数据表的问题
    DOM
    BOM对象
    JavaScript
    traversal child window of parent window
    tkinter threading unblock GUI ( check if the thread exists)
  • 原文地址:https://www.cnblogs.com/yzyh/p/7419125.html
Copyright © 2011-2022 走看看