Javascript:离开单页应用程序时的用户确认

Javascript: user confirmation when leaving single-page application

本文关键字:用户 确认 应用程序 离开 单页 Javascript      更新时间:2024-02-11

我想让用户确认她想离开我的单页应用程序。ExtJS 4.1提供了onWindowUnload,我想在其中插入一个Confirm对话框。

如果用户决定继续关闭选项卡/窗口,则对注销URL的Ajax请求应告知服务器端用户已注销。

上述方法可行吗?

是否可以将onWindowUnload事件插入ExtJS MVC controller

p.S. 用户离开单页应用可以是以下任意一种:关闭浏览器选项卡、关闭浏览器窗口、浏览器后退按钮、浏览器前进按钮。

您需要向窗口的onbeforeunload事件添加一个侦听器。

它是一种特殊类型的事件处理程序,您应该仔细阅读文档。

MDN文档:https://developer.mozilla.org/en/DOM/window.onbeforeunload

MS文档:http://msdn.microsoft.com/en-us/library/ie/ms536907(v=vs.85).aspx

Ext附加事件处理程序的标准方式不起作用†与这个特殊的事件。

您需要使用标准的addEventListenerattachEvent方法。

示例:

http://jsfiddle.net/NhLQK/9/

  • 我可以使用自己的对话框吗?否
  • 我可以在Firefox中显示我自己的消息吗?否
  • 我可以使用confirm()吗?否
  • 我能让它们在不同的浏览器中看起来一样吗?否
  • 我可以在用户关闭浏览器之前触发AJAX消息吗?对如果是synchronous:

    外部Ajax请求({url:"某个url",async:false,方法:"POST"});

&匕首;它似乎可以在Chrome中使用ext4.1.1