• 安卓端检测浏览器返回问题


    上一篇文章说了在安卓和iOS微信浏览器监测页面关闭返回的方法,当时测试时是有效果的,后来在安卓端不起作用了,只有浏览器中没有页面缓存重新加载时,才有作用

    初步判断是页面首次加载时window.onbeforeunload起作用了,下一次进入读取的缓存页面,window.onbeforeunload不起作用了

    window.addEventListener('pagehide', function () {})在iOS上没有问题,但是在安卓上不管第一次进入还是从缓存读取都不起作用,应该是浏览器兼容问题

    通过debugmm.qq.com/?forcex5=true或者debugstbs.qq.com开启微信浏览器为X5内核后,发现安卓端可以用了,window.addEventListener('pagehide', function () {})起作用了

    debugmm.qq.com/?forcex5=false关闭X5内核后,又不起作用了

    发现

    window.addEventListener( 'blur', function() { console.log( 'blur' ); } );
    window.addEventListener( 'focus', function() { console.log( 'focus' ); } );
    可以检测点击了关闭浏览器的功能,但是返回监测不到

    经过测试发现

    window.onbeforeunload = function () {
    //窗口关闭前
    saveExam(that)

    };能监测到返回

    所以最后解决方式是在安卓里用

    window.addEventListener( 'blur', function() { console.log( 'blur' ); } );结合window.onbeforeunload和 window.addEventListener("popstate", function (e) {
    iOS里用pagehide


  • 相关阅读:
    2013第47周日整理
    2013第47周六笔记本散热及相关问题思考
    myeclipse中控制台日志比实际晚8小时解决方法及java日志处理
    2013第47周五抱怨负能量
    ORM框架
    什么是IT
    内网port映射具体解释(花生壳)
    DrawText的使用
    socket编程原理
    hibernate学习——Set集合配置
  • 原文地址:https://www.cnblogs.com/stubborn-donkey/p/12978860.html
Copyright © 2020-2023  润新知