window.location.href IE8バグでonbeforeunloadダイアログキャンセル

あいまいなタイトルについては申し訳ありませんが、うまくいけば私は説明することができます:

ユーザーがページを離れようとしたときにポップアップするダイアログが表示されます。

window.onbeforeunload = function() {
    return 'You have unsaved changes';
}

これが window.location.href と結合され、ユーザーがキャンセルをクリックすると、Internet Explorer 8以前で「不特定のエラー」がスローされます。他の現代のブラウザでも同じことは起こりそうにありません。

<script type="text/javascript">
    $('input').click(function() {
        window.location.href = 'http://www.google.com';//error is thrown here
    });
</script>

<input type="button" value="Go to google" />

window.location.hrefを引き続き使用してIE8でこのバグを回避する方法はありますか?

8
プロトコルはどこですか?
追加された 著者 alex,
単純に .href ではなく window.location を設定してみましたか?
追加された 著者 Ilia G,
追加された 著者 Ring Ø,
申し訳ありませんが、重要な注意点を忘れてしまったのは、ユーザーが「あなたは残しておきますか?」ダイアログでキャンセルをクリックしたときだけです
追加された 著者 ajbeaven,
ちょうどタイプミスが修正されました。
追加された 著者 ajbeaven,
同じことが起こります。
追加された 著者 ajbeaven,

1 答え

これはIEの既知のバグです。私はあなたがそのエラーをtryブロックを使用して捕まえることができると思う。

5
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript