Beforeunload不能正常工作?

时间:2015-09-30 21:09:06

标签: javascript html

html的:

<html>
<header>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="js/game.js"></script>
</header>
<body>
heya!
</body>
</html>

的.js:

window.onbeforeunload = function() {
    saveData();
}

function saveData() {
    return "HELLO";
}

我也尝试过:

$(window).unload(function() {
    saveData();
    return true;
});

我找到的唯一一个工作就是:

<body onbeforeunload="return saveData()">

但即便如此,它也不会显示我的信息(&#34; HELLO&#34;,只是显示&#34;你想离开这个页面blabla&#34;)等我只是想成为能够在页面关闭之前保存内容,没有警报,但使用警报进行试用。

1 个答案:

答案 0 :(得分:2)

事件onbeforeunload正常运作。

如果您想要询问用户是否要离开页面,您必须返回一些内容:

window.onbeforeunload = function() {
  return saveData();
}

但是如果你只想在后台做东西,在页面离开之前,你可以在活动中放置你想要的东西,它会正常工作。看一下下面的例子(打开你的控制台):

&#13;
&#13;
window.onbeforeunload = function() {
  console.log('leaving');
}
&#13;
<a href='http://www.stackoverflow.com/'>Go to StackOverflow</a>
&#13;
&#13;
&#13;

注意:如果您使用promptalert,某些浏览器不会允许,因为它们会侵占用户。