在Firefox 3中,我能够使用以下命令编写自定义确认弹出窗口:
window.onbeforeunload = function() {
if (someCondition) {
return 'Your stream will be turned off';
}
}
现在,在Firefox 4中,它不会显示我的自定义消息。它提供的默认消息甚至与我的应用程序所做的都不准确。
可以覆盖此默认消息吗?
Answers:
除了上述答案,我还改进了解决方法。
我在这里用过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?";
}
});
在Firefox 11中也经过测试和工作。:)
我的解决方法是在onbeforeunload中显示警报:
window.onbeforeunload=function() {
if ( /Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
alert("Blah blah. You have to confirm you are leaving this page in the next dialogue.");
}
return "Blah blah.";
}
(它显示了Firefox中的两个对话框,其他地方的一个对话框。)
尝试通过确认消息实施它,
window.onbeforeunload=function(){
return confirm("Are you sure??");
}
当然,当用户确认后,便会显示FF4消息,因此您最好在登录/访问时每个站点一次显示一次。Cookie应该可以解决问题。