关于onbeforeunload,beforeunload

window.onbeforeunload = function () {/**/}  //将覆盖任何现有的处理程序并用您自己的处理程序替换它。

window.addEventListener("beforeunload", function () {/**/}); //将添加一个新的处理程序。

经过手动测试得知:

  • 安卓手机:都支持。

  • 苹果手机:不支持,可以用onpagehide/pagehide代替。

  • onbeforeunload有时候会在安卓手机上莫名 其妙的被执行两次

  • 解决的思路如下:

    var hasExecuted=false;            
    window.addEventListener('beforeunload', function() {
      if(hasExecuted==true){  //解决触发两次问题
          return null;
      }
      /* do ......*/
    
      hasExecuted=true;  
    });

 上一篇
Could not find a file named Could not find a file named "pubspec.yaml"
调用[flutter packages get]命令后出现下面的报错 Could not find a file named "pubspec.yaml" in "/Volumes/zarva/flutter/HistoryOf
下一篇 
H5端唤醒移动客户端程序(转载) H5端唤醒移动客户端程序(转载)
关于通过H5页面唤Native户端的介绍1、背景 目前通过H5页面唤起native APP的场景十分常见,比如常见的分享功能;一方面,对于用户而言,相同的内容在native APP上比H5体验更好,操作更加方便,另一方面,对于APP运营来说
  目录