1

像往常一样,我想在离开页面时提醒用户注意未保存的更改。我有这个测试页:

<html>
<head>
<title>Testing</title>
<script language="JavaScript1.1" src="https://127.0.0.1:8443/scripts/base.js"></script>
<script language="JavaScript1.1" src="https://127.0.0.1:8443/scripts/edit.js"></script>
<script language="JavaScript1.1">window.onbeforeupload=moveAway</script>
</head>
<body onLoad="init()">
<a href="http://www.google.com">Google</a>
</body>
</html>

moveAway 函数在“edit.js”中定义如下:

function moveAway ()
  return "foo";<br>
}

该事件不会触发,或者至少它只是静默离开页面(使用 IE8、Firefox 15 和 Chrome 20)。我已经尝试在 Firebug 中为该函数设置断点,但它永远不会到达断点。我已经从 Web 服务器(一个 SSL 服务器,其测试版本在 127.0.0.1:8443 运行)尝试过,并且我尝试使用浏览器直接打开文件(这就是我第一次使用绝对 URL 的原因两个 <script> 标签)。我试过从脚本标签中删除“src=”属性。

另一方面,此页面有一个确实有效的示例(至少在 Firefox 中):

http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm

MSDN 上也有一个非常相似的示例,它也有效:

http://msdn.microsoft.com/en-us/library/ms536907%28VS.85%29.aspx

我真的看不出他们所做的和我正在做的有什么区别。谁能告诉我为什么他们的代码有效而我的无效?

4

3 回答 3

1

使用 jQuery 绑定函数.. 它对我很有用..

见下文

$(window).bind('beforeunload', function() { 

    return "Want to leave?";
});
于 2012-08-31T17:58:26.037 回答
0

你有一个语法错误,函数应该是:

function moveAway () {
    return "foo";
}
于 2012-08-31T08:23:22.130 回答
0

onbeforeupload, 真的 ?它应该是onbeforeunload。这是拼写错误,还是您的实际代码是这样的?

于 2012-08-31T08:29:28.983 回答