2

ユーザーがページを離れるときに、ユーザーの確認にを使用しwindow.onbeforeunloadていますが、IE でのみ確認アラートが 2 回発生します。

私のコードは次のとおりです。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User confirmation</title>

<script type="text/javascript">
    /* Used for confirmation , to closing the window */
    window.onbeforeunload = function() {

        return "Are you sure want to LOGOUT the session ?";
    };
</script>
</head>
<body>
<p>Folow the steps which I said in Stack overflow</p>
</body>
</html>

シナリオは、

ステップ 1: コードを実行し、IE で開きます。

ステップ 2: アプリケーションがロードされたら、ブラウザ ウィンドウを閉じます。確認アラートが表示されます。

ステップ 3 :確認アラートでキャンセルを伝えます。

ステップ 4 : 次に、アドレス バーのENTER ボタンを押して URL を更新します。

ステップ 5 :アラートで [ OK ] を指定します。

ステップ 6 : 確認アラートがもう一度表示されます。

誰でもこの問題を解決する方法を教えてもらえますか?

4

1 に答える 1

1

これはIEの仕様によるものです。

そのイベントを引き起こすすべてのものがリストされている注釈を読んでください。

http://msdn.microsoft.com/en-us/library/ie/ms536907%28v=vs.85%29.aspx

これを回避するためにタイマーを使用できます。

window.onbeforeunloadは複数回起動する可能性があります

于 2013-02-01T15:59:57.720 に答える