我正在编写一个跟踪用户分数和信息的ASP.NET应用程序(它是一个 培训应用程序)到访问数据库,如果任何人直接关闭浏览器我想显示一条警告消息。 我的问题是我无法使用unload事件,因为当我按下任何ASP.NET按钮时,会发生unload事件。我应该使用什么事件适用于IE和FF? 我想处理事件浏览器关闭(X)。
答案 0 :(得分:5)
onbeforeunload事件只会为您提供带有消息的确认框。你不能在其中加入更多功能。
答案 1 :(得分:1)
你应该做的是让窗口卸载事件处理程序和注销按钮单击事件处理程序调用相同的注销方法。您不需要停止用户并要求他们按下您的按钮,您的按钮应该只是做同样事情的另一种方式。
另外:您考虑过SCORM吗?
答案 2 :(得分:0)
不确定你知道自己想做什么。 ; - )
您是否希望阻止用户完全关闭浏览器,直到trainig中的某个点?如果是这样,您是否考虑使用模态和最大化窗口?您应该能够在没有标题栏,按钮和菜单的情况下最大化窗口。
或者如果您只是想跟踪进度,分数或类似情况,那么您可以使用浏览器通过JavaScript处理的cookie。请记住,这样可以将数据保存在学生的一台机器上。
如果您只是想警告用户他即将离开培训课程,您可以使用onbeforeunload
答案 3 :(得分:0)
我认为其他人已经充分回答了你的具体问题,但是托尼提出了一些好处。扩展这些。你现在在哪里维持你的州?分数是存储在cookie中,在服务器端会话中还是在数据库中逐页持续存储。
假设这不是一个便宜而愉快的解决方案,那么我建议你考虑逐页保持结果,因为它可以最大限度地减少因过早退出(无论是设计还是意外)导致的信息丢失。当然,您需要一个流程来清理不完整的培训课程。
您仍然可以使用onbeforeunload函数来捕获用户出口,但我个人不喜欢用户双重检查用户操作的UI。
祝你好运。