我已经发布了这个here,但认为它可能值得自己的问题。ASP.NET linkbutton提高onBeforeUnload事件两次
我想要做的是显示一个对话框,询问用户如果他/她想离开页面,如果有未保存的更改。这一切都很好。但是,问题描述如下:
有没有人遇到过Internet Explorer将两次触发onbeforeunload事件的问题?在Google上搜索时,我发现它与(其中包含)ASP.NET链接按钮的事实有关,HTML代码是<a href="javascript: __doPostBack...
。
显然,当IE遇到没有href="#"
的链接时,它会触发onbeforeunload事件。然后,当您确认我们正在显示的javascript对话框时,页面将执行“真实”卸载以导航到其他页面,并再次提升onbeforeunload事件。
互联网上提供的解决方案是设置一个布尔变量并在显示对话框之前检查它。所以第二次,它不会被显示。这很好,但是当用户取消时,变量仍然会被设置。因此,下次用户想要离开该页面时,对话框将不再显示。
希望这有点清楚,我希望有人找到解决办法吗?
我认为你正在从字面上理解我的答案。我的意思是你想在显示对话框之前将确认值存储在你用来检查的标志中。我想你会以任何方式:) – annakata 2009-02-13 10:13:12