我想在浏览器关闭时在另一个页面中重定向。我的代码如下:
<script language="Javascript">
var needToConfirm = true;
window.onbeforeunload = confirmExit;
function confirmExit(){
if (needToConfirm){
my_window = window.open ("1.html","mywindow1","status=1,width=350,height=150");
return "You have attempted to leave this page. If you have made any changes "
+"to the fields without clicking the Save button, your changes will be "
+"lost. Are you sure you want to exit this page?";
}
}
但是当我点击浏览器的关闭按钮时,我看到系统确认消息,而且我也没有在mozilla中弹出页面。我将如何解决这个问题?
由于
答案 0 :(得分:0)
摘自this页面。
function goodbye(e) {
if(!e) e = window.event;
//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog
//e.stopPropagation works in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}
window.onbeforeunload=goodbye;
答案 1 :(得分:0)
简短回答:
如果您没有阻止它,您的代码就能完美运行。
答案很长:
this是一个有效的例子 - 它和你的几乎一样(看看源代码)。
但是:仅当您通常禁用FF中的弹出窗口阻止程序(或创建允许该URL弹出窗口的规则)时,此方法才有效。
我确定您的代码无效的原因是激活的弹出窗口阻止程序,它显示了这个漂亮的黄色“网站试图打开弹出窗口” - 因为该网站已关闭而未向您显示警告(所以,你不能点击“允许来自这个网站的弹出窗口”)。