h5 如何监听微信左上角关闭按钮

8,201次阅读
没有评论

共计 465 个字符,预计需要花费 2 分钟才能阅读完成。

最近项目里有个新的需求,在微信里打开的 H5 网页,要获取到用户退出页面的事件。经过对 visibilitychange、unload/pagehide、onunload、popstate 各种方法一阵测试,发现安卓里 visibilitychange 能监听到关闭事件。而 iOS 里使用 pagehide 能监听。

但是监听到关闭事件并不是终点,还要在用户退出时候向后台发送数据请求。这时,安卓里能正常发送 ajax,iOS 里却失效。原因是 xhr 请求是异步发送,很可能在它即将发送的时候,页面已经关闭,从而导致发送取消或者发送失败。

事实证明,iOS 里还是无效。? 然后,经过多方调阅资料,发现 navigator.sendBeacon(URL,data)神器。url 就是上报地址,data 可以是 ArrayBufferView,Blob,DOMString 或 Formdata。sendBeacon 发出的是异步请求,但是请求是作为浏览器任务执行的,与当前页面是脱钩的。那么在 iOS 端尝试运行,代码如下。

var u = nav

原文地址: h5 如何监听微信左上角关闭按钮

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-26发表,共计465字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)