次のスクリプトは、FireFox では見事に機能しますが、IE や Chrome ではまったく成功しません....私はこの愚かさに何時間も頭を悩ませてきました....どんな助けも感謝します.
<script type="text/javascript">
window.onunload = function exitConfirm()
{
var answer = confirm("Wait don't GO! I love you!");
if (answer)
{
if(!self.closed)
{
window.open("http://myKoolUrl");
}else{
window.location.replace("http://myKoolUrl");
}
}
}
</script>
確認は、ページを離れる場合とブラウザ/ページ/タブを閉じる場合の両方で正常に機能しますが、IE/Chrome での選択に関係なく、リダイレクトは行われません。理解するのを手伝ってください。
onbeforeunload を使用して、はるかに単純な例を更新します。
<body onbeforeunload=go();>
function go()
{
if(confirm("Go to Google"))
{
window.location.href = "http://www.google.com";
}
}
</body>
これはIE/Chrome/Safariでも機能しません。いくつかの異なるマシンを使用して、ある種の設定エラーを排除しようとしました。これは、明らかな何かが欠けているという非常識な状況ですか...??? これらのブラウザでリダイレクトが何もしないのはなぜですか...それは私だけですか? かわいいJSリダイレクトをすべて試しました:
location
location.href
location.reload
location.open
etc
jQueryでも
$(location).attr('href','http://www.google.com');
繰り返しますが、これらはすべて Fire Fox の私のマシンで正常に動作します