2011-07-22 43 views
1

window.onbeforeunload=function();はChromeで動作していません。これはIEとMozilaでは動作しますが、Chromeでは動作しません。クロムにwindow.onbeforeunload=function();を使用する別の方法はありますか?window.onbeforeunloadがChromeで動作しない

下記のコードをご覧ください。 Failure.jspはChromeで呼び出していません。前もって感謝します。

window.onbeforeunload = function() { 
    window.location='Failure.jsp'; 
    confirm("onbeforeunload>>>>>>>>>"+window.location); 
} 

Failure.jsp:

<body> 
<h3> <b> Your session Expired</b></h3> 
<% session.invalidate(); 
System.out.println("invalidate>>>>>>>>>>>>>>>>>"); 
%> 
Click here to <a href="http://localhost:8080/myApplication">Relogin</a> 
</body> 
+0

しないでください! 'onbeforeunload'はChrome(FirefoxとIEだけでなく)でもうまく動作しますが、ユーザーにページを離れ、クリーンアップを実行するよう指示する必要があります。 Chromeはセキュリティ上の理由から 'window.location'を実行しません。ブラウザによっては、そのページを読み込むことができます( 'confirm'が実行を停止するために表示されることがあります)が、' onbeforeunload'が実行された後、ブラウザは何をしているのかを継続します)。 –

答えて

2

onbeforeunloadイベントが(のはず)れは、クリーンアップにのみ使用され、debatably ...作業を保存するよう求めます。 は間違いなくです。ブラウザで選択した別のページにリダイレクトするように強制しないでください。は正当な理由でこの動作をブロックします。

脇に:the event isn't specified、つまりのように動作しますが、Chromeはユーザーをここで保護することを選択しています。

+0

彼はテキストとして確認ボックスにwindow.locationを持っていますが、何もリダイレクトしようとしていません。 – Clint

+0

@Clint - 彼は次のコードを見ています: 'window.location = 'Failure.jsp';'、ページを離れるときにユーザーを 'Failure.jsp'にリダイレクトしようとしています。 -no。 –

+0

あなたは正しいです。ごめんなさい :-) – Clint

関連する問題