8th*_*ree 42 javascript iphone onbeforeunload mobile-safari ios
看起来Apple已禁用iOS设备(iPhone,iPad,iPod Touch)的window.onbeforeunload事件.很遗憾,我找不到任何关于此事件在Mobile Safari中无效的文档.
有谁知道这个功能有可靠的替代方案吗?Android的浏览器似乎支持它很好,Safari桌面应用程序也支持onbeforeunload事件没有问题.
如果你确实需要它,你不能只获取所有具有更改 url 的处理程序的链接、表单和 DOM 对象,并让它们等待,直到你完成你想要的操作。对于链接,您可以通过 getElementsByTagName 获取它们,检查 href 是否以 # 以外的任何内容开头,然后添加 onbeforeunload 函数 add onclick (该函数将在查看 href 之前调用)。表单相同,但带有 onsubmit。最后,对于使用 JavaScript 更改 href 的元素,您应该确保在添加 lsitener 时调用 onbeforeunlaod 函数(或者,如果您使用 DOM0 或 DOM1 侦听器,则只需添加一些类,然后使用全局脚本检查该类的所有元素,并将其添加到带有闭包的事件侦听器中。
但是您通常应该能够避免使用此事件(可能使用 cookie 来存储您想要每 x 秒发送的内容,并允许在最坏的情况下,在用户下次加载页面时查看它,并且(在最好的情况下,能够在 onbeforeunload 或 onunload 处发送 Ajax 请求,即使它只发送 http 标头,也将允许您获得您想要的内容)。