beforeunload在IOS Safari中不起作用?

Winter · 09月15日

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!
    ...
} );
加载中...
⌘+Return 发表
发表
评论(1)
时间
h
hm
1 · 2018-08-21 11:31:27
你好,请问下ios safari 页面跳转,推荐使用什么方法?
WinterSafari 推荐使用window.location = 'user_home.html';
2018-11-27 10:47:40回复举报

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序