JoJ*_*oJo 69 javascript firefox firefox4
在Firefox 3中,我能够编写一个自定义确认弹出窗口:
window.onbeforeunload = function() {
if (someCondition) {
return 'Your stream will be turned off';
}
}
Run Code Online (Sandbox Code Playgroud)
现在在Firefox 4中,它不会显示我的自定义消息.它提供的默认消息甚至不能准确应用我的应用程序.
可以覆盖此默认消息吗?
Thi*_*ter 52
来自MDN:
请注意,在Firefox 4及更高版本中,返回的字符串不会显示给用户.见Bug 588292.
这个"Bug"实际上是一个(imho有问题的)功能..所以没有办法在Firefox 4中显示消息.如果你认为它应该被更改,请评论该bug,以便Firefox开发人员知道人们实际上想要成为能够显示自定义字符串.
Nas*_*sif 32
除了上面的答案,我已经改进了解决方法.
我在这里使用过jquery.你也可以使用默认的javascript函数.
$(window).bind('beforeunload', function() {
if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
if(confirm("Are you Sure do you want to leave?")) {
history.go();
} else {
window.setTimeout(function() {
window.stop();
}, 1);
}
} else {
return "Are you Sure do you want to leave?";
}
});
Run Code Online (Sandbox Code Playgroud)
在Firefox 11中测试和工作也是如此.:)