我正在尝试在用户关闭标签页或转到另一个标签页(例如facebook,gmail,GoDaddy等)之前显示确认弹出窗口。
我的代码适用于Firefox,但不适用于chrome,safari等其他浏览器。
<script type="text/javascript">
var hook = true;
window.onbeforeunload = function() {
if (hook) {
return "Did you save"
}
}
function unhook() {
hook=false;
}
</script>
在Click上调用unhook()以获得按钮和链接
<a href="http://example.com" onClick="unhook()">No Block URL</a>
请帮助我解决此问题。
答案 0 :(得分:0)
查看Ouibounce,它有助于检测用户何时离开页面(它看着光标的位置)。您可能可以构建此库。
答案 1 :(得分:0)
如果您查看window.beforeunload()
的{{3}},则可以看到,尽管广泛支持基本的卸载事件,但是只能在Internet Explorer和某些版本的Internet Explorer中设置自定义消息一些浏览器。因此,只需使用普通的标准消息即可。
恶意网站经常利用此功能(自定义消息)以有害或破坏性的方式与用户进行交互。这就是为什么许多浏览器不再支持此功能的原因,直到某些补丁消除了对用户的威胁为止。
标准消息解决方案:
window.addEventListener('beforeunload', function (e) {
// Cancel the event
e.preventDefault();
// Chrome requires returnValue to be set
e.returnValue = '';
});