2012-01-17 64 views
1

关于此问题,在stackoverflow.com上有很多问题。但是真的没有答案,或者我找不到它(在这种情况下,我很抱歉这个副本)。IE9确认浏览器退出

所以我有一个基于Ajax的Web应用程序,我想知道用户是否想离开页面。以下是我的一个片段:

function goodbye(e) { 
    if(!stopGoodbye) { 
     if(!e) e = window.event; 
     e.cancelBubble = true; 
     e.returnValue = 'You are leaving the system!'; 
     if (e.stopPropagation) { 
      e.stopPropagation(); 
      e.preventDefault(); 
     } 
    } 
} 
window.onbeforeunload=goodbye 

stopgoodbye用于单击注销时关闭。

这适用于Firefox,但在IE9中,它显示对话框,每次用户点击一个链接,只是改变一些DIV内容(一个Ajax链接)...如果有帮助,我使用jQuery的Struts2框架。

回答

0

实际上,您可以通过向锚点添加onclick事件来关闭用户的onbeforeupload警告(当他们点击链接时)。

你可以阅读更多关于here,该解决方案是在评论

+0

嗯,这将意味着我将不得不更改应用程序的所有环节......我希望有另一种解决方案:) – Trick 2012-01-17 08:42:59

+1

另一种解决方案将检查用户代理,以及点击的事件是否来自您的再见功能中的锚点。然后,您可以停止警告出来。 – XepterX 2012-01-17 08:50:07

+0

好的建议,我会试试。 – Trick 2012-01-18 08:57:56