美文网首页
在html5、ios中onunload或onbeforeunlo

在html5、ios中onunload或onbeforeunlo

作者: Dannn_Y | 来源:发表于2017-09-04 17:23 被阅读2103次

    在网上寻找了一下原因,找到了ios官方文档,在官方文档中说unloadonbeforeunload已经废弃掉了,使用pagehide作为代替,这就说明如果是在ios平台,在HTML5中如果想在页面消失的时候做点事情,需要监听pagehide事件。

    兼容

    在使用addEventListener监听事件时,在老的IE浏览器中不支持,如果你想要兼容所有的情况就需要做个判断。

    if (window.addEventListener) {
            window.addEventListener(eventName, function () {
             // do something
            })
          } else if (window.attachEvent) {
            // 主要是为了兼容老的IE
            window.attachEvent('on' + eventName, function () {
              // do something
            })
          } else {
            window.onbeforeunload = function () {
              // do something
            }
          }
    

    onunload VS onbeforeunload

    onunload当页面刷新或关闭时调用
    onbeforeunload也是页面刷新或关闭的时候调用,区别是onunload已经从服务器上读到了需要加载的新页面在即将替换掉当前页面时调用,可以阻止页面的更新和关闭。

    在各个浏览器中onbeforeunload 兼容性比 onunload 更好一些,

    扩展:

    ios支持事件官方文档

    相关文章

      网友评论

          本文标题:在html5、ios中onunload或onbeforeunlo

          本文链接:https://www.haomeiwen.com/subject/hciejxtx.html