onunload如何正常工作?

时间:2016-05-13 00:45:58

标签: javascript

以下html在页面加载时为Chrome Safari Firefox和Opera调用警报,但我希望在页面*卸载时调用它:

<html>
<body>
<script>
window.addEventListener("unload", alert('hey'));
</script>
body
</body>
</html>

我做错了什么?

3 个答案:

答案 0 :(得分:1)

您没有将警报调用包装在一个函数中,因此它会立即执行。你想要的是:

window.addEventListener("beforeunload", function () {
    // do work here
});

话虽如此,浏览器不太可能允许您在此处显示提醒。这是一个保存状态并让用户离开的好地方。

答案 1 :(得分:0)

window.addEventListener('unload', function(event) {
    alert ('hey');
});

将警报包裹在一个功能中......!

参考:https://developer.mozilla.org/en-US/docs/Web/Events/unload

答案 2 :(得分:0)

unbeforeunload是一项特殊事件,它的功能非常有限。

返回一个字符串,浏览器将显示该字符串,并为用户提供是否继续的选项。

您无法使用alertconfirm或其他任何内容。

(有一点,在遥远的历史中,你可以 - 但它被滥用太多了。)

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload