3

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

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

上述方法可行吗?

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

PS 离开单页应用的用户可以是以下任意一种:浏览器标签关闭、浏览器窗口关闭、浏览器后退按钮、浏览器前进按钮。

4

1 回答 1

3

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

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

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

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

Ext 附加事件处理程序的标准方法不适用于此特定事件。

您需要使用标准addEventListenerattachEvent方法。

例子:

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

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

    Ext.Ajax.request({ url:'some url', async:false, method:'POST' });

† 它似乎在带有 ext 4.1.1 的 Chrome 中工作

于 2012-07-24T18:37:34.180 回答