我试图在用户关闭标签页或转到另一个标签页(如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>
调用unhook()onClick获取按钮和链接
<a href="http://example.com" onClick="unhook()">No Block URL</a>
请帮助我解决此问题。
最佳答案
如果查看window.beforeunload()
的api,您会看到,尽管广泛支持基本的卸载事件,但是只能在Internet Explorer和某些浏览器的某些版本中设置自定义消息。因此,只需使用正常的标准消息即可。
标准消息解决方案:
window.addEventListener('beforeunload', function (e) {
// Cancel the event
e.preventDefault();
// Chrome requires returnValue to be set
e.returnValue = '';
});