我在ASP.NET网页上有以下脚本,用于警告用户当他们离开未保存更改的页面时。
如果用户选择“留在此页面”,那么消息框会出现两次。然后,如果他们第二次选择“留在此页面”,调试器会用以下消息突出显示上面的链接:
$(document).ready(function() {
$('input:not(:button,:submit),textarea,select').change(function () {
window.onbeforeunload = function () {
return 'Changes made to this page have not been saved!';
}
});
});
这个功能的实现是符合预期的,但在用户使用Internet Explorer并尝试使用像这样的链接导航时,会遇到一些问题。
<div onclick="window.location='http://www.domain.com';">Text</div>
如果用户选择“留在此页面”,那么消息框会出现两次。然后,如果他们第二次选择“留在此页面”,调试器会用以下消息突出显示上面的链接:
这个问题似乎只出现在Internet Explorer浏览器中。在搜索网络时,我能够找到许多与之相关的bug引用,可惊人的是这些引用已经追溯到几个版本的Internet Explorer。然而,我无法找到微软的任何说明或合理的修复方法。下面是我找到的一些相关链接。Microsoft JScript运行时错误:未指定错误。
- 为什么我的 onbeforeunload 处理程序会引发 "未指定错误" 错误?
- 为什么我的 onbeforeunload 处理程序会引发 "未指定错误" 错误?
- 如何解决在 IE 6/7 中使用 onbeforeunload 函数时取消后出现 JS “未指定错误”问题?
- 为什么在 Internet Explorer 中设置 document.location.href 后,单击取消会导致 onbeforeunload 函数出错?
- 当使用 window.location.href 并单击“取消”按钮时,在 Internet Explorer 中为什么 onbeforeunload 对话框会出错?
- 在 Internet Explorer 中,为什么 onbeforeunload 函数会出现 “未指定错误”?
- 在 IE7 中如何解决 onbeforeunload 的问题?
- 当使用 onbeforeunload 函数时,为什么 JavaScript 报告 "未指定错误"?
- 如何正确地使用 onbeforeunload 事件?
有没有人能提供解决方案?看起来 Connect 并不接受 IE 的错误报告。我正在使用 IE9。