Javascript onbeforeunload 取消

6
有没有一种方法可以取消javascript事件onbeforeunload,并只让它执行一个函数然后返回到页面?
window.onbeforeunload = function(){
    //execute some logic
    return false;
}

6
可以的。你可以编写一个具有该功能的自己的Web浏览器。 - Mike Christensen
2
我觉得你忘记在 “feature” 两边加上引号了。 - Michael Calvin
3个回答

13

不行。您无法取消此事件。您只能让它返回一个字符串。这将使浏览器询问用户是否要离开。

想象一下如果您可以阻止此事件!您可以制作一个用户永远无法关闭的网站!想象一下您可以制作多少弹出窗口。浏览器绝不会允许这种情况发生。


但是为什么文档说这个事件是可取消的呢? - pushkin
哦,我猜他们的意思是用户可以通过确认框取消它...但你不能通过编程方式取消它。 - pushkin

3
不行。如果人们想离开页面,你无法阻止他们。

-2

可以的。您可以将其设置为 null 来实现。

window.onbeforeunload = null;


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接