Javascript onbeforeunload消息显示两次(Internet Explorer)
在我的ASP.NET网页上有以下脚本,用于在用户离开包含未保存更改的网页时发出警告Javascript onbeforeunload消息显示两次(Internet Explorer),javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,在我的ASP.NET网页上有以下脚本,用于在用户离开包含未保存更改的网页时发出警告 $(document).ready(function() { $('input:not(:button,:submit),textarea,select').change(function () { window.onbeforeunload = function () { return 'Changes made to this page have not bee
$(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>
文本
如果用户选择“停留在此页面”,消息框将显示两次。然后,如果他们第二次选择“停留在此页面”,调试器将突出显示上面的链接,并显示以下消息:
Microsoft JScript运行时错误:未指定的错误
此问题似乎特定于Internet Explorer。在网上搜索,我已经找到了很多关于相关bug的参考资料,难以置信的是,这些都可以追溯到InternetExplorer的几个版本。然而,我找不到微软的任何评论或合理的修正。以下是我发现的一些相关链接
有人能提出解决办法吗?看起来Connect不接受IE错误报告。我使用的是IE9URL不是
onclick
属性的有效值onclick
指定要运行的JavaScript;如果要在单击div时导航到某个位置,您有两个主要选择:
前一种方法是更好的。不幸的是,尽管这个问题最初出现在以前版本的Internet Explorer中,但它仍然是IE9中的一个缺陷 我尝试在Microsoft Connect上提交此问题,但无法提交
无论如何,问题与通过JavaScript退出页面有关。通过将我的
包装在锚定标记
中,问题得以解决。使用常规链接,这个问题现在已经解决。我们在IE11中遇到了同样的问题
结果是分配window.location=”http://www.domain.com“
将导致IE出现此问题
如果改为使用location.href=”http://www.domain.com“
,它只会提示用户一次
希望这能帮到别人 哎呀!我诚挚的道歉。尽管我尽了最大的努力,那还是一个打字错误。现在更正了。我对IE中的未加载问题感到沮丧,但这个解决方案效果很好!!谢谢