2010-06-17 71 views
0

我想在用户单击浏览器的关闭按钮时使用JavaScript提供警报。我如何检测事件?使用JavaScript关闭按钮检测

+1

什么是“十字”按钮? – ZippyV 2010-06-17 11:21:50

+0

抱歉不提.. 十字按钮代表“浏览器十字按钮”。 – 2010-06-17 11:24:30

+0

意思是你试图在用户点击'X'按钮时提示用户不关闭浏览器窗口?交叉?! – deostroll 2010-06-17 11:27:32

回答

3

您可以勾选beforeunload事件以在用户离开您的页面时执行某些操作。您无法直接检测到关闭浏览器的用户。

下面是一个例子:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"> 
<title>Test Page</title> 
<style type='text/css'> 
body { 
    font-family: sans-serif; 
} 
</style> 
<script type='text/javascript'> 
window.onbeforeunload = askWhetherToClose; 
function askWhetherToClose(event) { 
    var msg; 

    msg = "You're leaving the page, do you really want to?"; 
    event = event || window.event; 
    event.returnValue = msg; 
    return msg; 
} 
</script> 
</head> 
<body> 
<p>Close the browser window, or navigate to <a href="http://stackoverflow.com">StackOverflow</a></p> 
</body> 
</html> 

更多关于MDCMSDN页面。只有使用这些知识才行。

+0

十字按钮代表浏览器关闭按钮的红色图标X按钮。 我想打开一个新窗口,当用户点击浏览器关闭按钮(红色图标)。所以当用户点击浏览器的关闭按钮时,我需要检测一个事件。 – 2010-06-17 11:30:21

+0

你想在用户试图关闭窗口时打开一个新窗口?让我想起了90年代广告轰炸你的狡猾网站。令人高兴的是,浏览器现在可以保护用户免受此影响,所以这是不可能的。 – Quentin 2010-06-17 12:04:25

+0

@Ajay:我已经更新了答案,告诉你如何实现诸如StackOverflow(和Gmail等)的行为,仔细检查用户是否真的想要离开带有半成品消息等的页面。您无法(可靠地)打开新窗口,也不适合这样做。 – 2010-06-17 12:08:27

1
<body onunload="javascriptHere();"> 
+0

你应该提到它是一般的页面离开事件,而不仅仅是关闭按钮点击事件,并且在某些情况下,这个事件可能会被浏览器阻止。没有安全的方法可以检测到用户正在关闭窗口或正在离开您的网站。 – 2010-06-17 12:13:13