IE 10 - onbeforeunload - 服务器端处理

时间:2015-05-13 02:04:38

标签: javascript ajax onbeforeunload

这就是我追求的目标。 当用户单击“X”关闭IE 10浏览器时。执行以下操作:

  1. 陷阱javascript中的onbeforeunload事件
  2. 对服务器资源(servlet)进行ajax调用,该资源具有一些​​运行逻辑并返回状态
  3. 根据响应弹出页面上的消息
  4. 问题是,它卸载了页面,我无法进行servlet调用。 我试着在javascript中加入延迟,但仍然没有运气。

    感谢任何帮助或解决方法。

1 个答案:

答案 0 :(得分:0)

阻止用户关闭网页不可能不应该。原因是安全性和用户体验。

让我们暂时假设用户输入了一个挂钩到beforeunload事件的恶意页面,并且浏览器允许等待从beforeunload处理程序触发的ajax调用完成。等待请求完成可能需要花费任意时间 - 从而阻止用户关闭页面。

自定义退出的唯一选择是从beforeunload事件处理程序中返回预先制作的同步消息。

也许你的情况是可以提前构建消息(可能通过ajax调用服务器)并以可从上述事件处理程序访问的方式存储它。