在IE8浏览器中,使用window.location.href取消onbeforeunload对话框时出现的错误。

8

抱歉标题不太清晰,我会解释一下:

当用户试图离开页面时,我有一个标准的“你确定要离开”对话框:

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" />

有没有办法在IE8中继续使用window.location.href并避免这个bug?

抱歉,忘记了重要的注释,即仅当用户在“您确定要离开吗”对话框上单击取消时才会发生。 - ajbeaven
只是一个打字错误 - 问题已更新。 - ajbeaven
你尝试过仅设置 window.location 而不是 .href 吗? - Ilia G
转发给你或其他人:http://social.msdn.microsoft.com/Forums/da-DK/sharepointcustomizationlegacy/thread/13000cd8-5c50-4260-a0d2-bc404764966d - Déjà vu
1个回答

5

这是一个已知的IE浏览器缺陷。我认为你可以使用try块来捕获该错误。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接