我的这部分代码适用于除Safari 10.*
(iOS 和 OSX)
问题是 Safari 会触发beforeunload event
但它不会显示在确认消息中
function goodbye(e) {
console.log("goodbye");
en = false;
e = e || window.event;
e.cancelBubble = true;
e.returnValue = msg;
if (!en) {
e.preventDefault();
if(e.stopPropagation)
e.stopPropagation();
return e.returnValue;
}
}
jQuery(window).bind("beforeunload", goodbye);
再见消息是从控制台显示的,因此该事件在 Safari 上触发,但确认消息(也尝试return confirm(msg);
代替return e.returnValue;
) 不显示。花了很多时间在这上面,并在这里看到了很多问题,但似乎没有人有一个可行的解决方案。
EDIT
这里发生了一些奇怪的事情。如果我加载页面并刷新一次,则会显示该消息,然后如果我单击“离开”按钮离开页面并在同一窗口选项卡上重新刷新它,则不会显示该消息。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)