IOS中的Safari不支持beforeunload,所以想在浏览器关闭之前执行相关事件,就得用另外一种方式了。
1.第一种方式使用unload代替,这个方法确实是可以运行的,但是在官方文档中Safari Web Content Guide,unload是不赞成使用,未来可能会弃用,官方是建议使用pagehide代替unload方法。
2.第二种方式使用pagehide
var isOnIOS = navigator.userAgent.match(/iPad/i)|| navigator.userAgent.match(/iPhone/i);
var eventName = isOnIOS ? "pagehide" : "beforeunload";
window.addEventListener(eventName, function (event) {
window.event.cancelBubble = true; // Don't know if this works on iOS but it might!
...
} );