搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

no way to disable the javascript window.onbeforeunload()

  • 5 个回答
  • 35 人有此问题
  • 6 次查看
  • 最后回复者为 alecail

more options

Firefox has given the options for the user to control how certain javascript functions can be used. I came across a horrible use of window.onbeforeunload() which keeps firefox from closing a tab, and therefore also quiting. A manual kill is required to close a page with the following code: (just open in firefox to test)

<title>test</title><script type="text/javascript">window.onbeforeunload=function(){return 'PRESS ESCAPE OR CLOSE THIS ALERT\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n';}</script>

It would be great if I could disable this javascript code, just like I can with window move/resize, raise/lower, hide statusbar, etc..

Firefox has given the options for the user to control how certain javascript functions can be used. I came across a horrible use of window.onbeforeunload() which keeps firefox from closing a tab, and therefore also quiting. A manual kill is required to close a page with the following code: (just open in firefox to test) <html> <head> <html><title>test</title><head><script type='text/javascript'>window.onbeforeunload=function(){return 'PRESS ESCAPE OR CLOSE THIS ALERT\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n';}</script></body></html> It would be great if I could disable this javascript code, just like I can with window move/resize, raise/lower, hide statusbar, etc..

所有回复 (5)

more options

I have the same problem. This script attaches to random web pages, then will not allow me to close the page. I have to use Task Manager to kill Firefox.

window.onbeforeunload=function(){return 'PRESS ESCAPE OR CLOSE THIS ALERT\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\

more options

Same reply as above.

由jhathaway于修改

more options

You can either disable JavaScript temporarily (Tools > Options > Content) or use a bookmarklet like this:

javascript:void(window.onbeforeunload=null);
more options

The only solution I've found that works correctly cross-browser is javascript:window.onbeforeunload=null;

more options

First, install GreaseMonkey: https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/

Then, create a new user script for all pages, or for the specific website; the script itself is very simple, it's just this line:

window.onbeforeunload=null;


It's just overriding the annoying function called at the time the page is closed, with an empty function. That's all. In some cases, it may not work if some script inside the page is modifying the DOM after the page is loaded. Have fun!