【问题标题】:IE 10 - onbeforeunload - server side processingIE 10 - onbeforeunload - 服务器端处理
【发布时间】:2015-05-13 02:04:38
【问题描述】:

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

  1. 在javascript中捕获onbeforeunload事件
  2. 对服务器资源(servlet)进行 ajax 调用,该资源具有一些​​运行逻辑并返回状态
  3. 根据响应在页面上弹出一条消息

问题是,它会卸载页面,我无法进行 servlet 调用。 我尝试在 javascript 中添加延迟,但仍然没有成功。

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

【问题讨论】:

    标签: javascript ajax onbeforeunload


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 同意,看起来可能是一个安全漏洞。我能够显示一个简单的静态消息。需要考虑一种推送机制,就像你提到的那样,消息是预先制作好的,可以在客户端显示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    相关资源
    最近更新 更多