2010-01-25 61 views
2

如果用户想要离开当前页面,我想弹出一条消息询问确认,就像您在输入问题时使用stackoverflow一样。关闭窗口时如何确认?

有人可以帮助我,通过给我一个脚本或重定向我的答案(在这个网站或其他地方)?

感谢

+0

建议您只是查看stackoverflow的源代码是否是inpolite? – 2010-01-25 14:09:44

+0

不是粗鲁,但你真的首先寻找答案? – 2010-01-25 14:11:04

回答

2

您需要处理窗口的onbeforeunload事件,并返回一个确认信息为字符串。

onunload不是在这里工作。 Demo

8

你可以使用onbeforeunload事件。

window.onbeforeunload = function() { 
    return 'Are you sure that you want to leave this page?'; 
}; 
+0

或尝试声明性语法:http://stackoverflow.com/questions/2132760/how-to-ask-confirmation-when-closing-a-window/2132790#2132790 – Ropstah 2010-01-25 14:15:57

+0

这将无法正常工作。 http://jsbin.com/obizu3 – SLaks 2010-01-25 14:20:28

+1

你需要返回一个字符串,而不是调用'confirm'。 – SLaks 2010-01-25 14:26:58

-1

这不工作?

<body onunload="return confirm('really quit?');"> 

,同样由道路框架集...

+0

这不起作用。 http://jsbin.com/obizu3 – SLaks 2010-01-25 14:20:52

1

window.onbeforeunload似乎对IE浏览器,但类似

window.onunload = function() 
{ 
    if (confirm('Save changes?')) 
     document.forms['form1'].submit(); 
}; 

似乎对所有的浏览器。

0

您将不得不将所有字段的值存储在一些变量中&每当使用更改页面url或单击某个链接时检查它们,以捕获页面更改事件使用页面卸载事件。

页面卸载事件链接/示例http://help.dottoro.com/ljflhicd.php