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 を使用した理由です)。 2 つの <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 に答える