我想让用户确认她想要离开我的单页应用程序。 ExtJS 4.1提供onWindowUnload
,我想插入Confirm
dialog。
如果用户决定继续关闭选项卡/窗口,则注销URL的Ajax request应告知服务器端用户已注销。
上述方法是否可行?
是否可以在ExtJS MVC controller
中插入onWindowUnload
事件?
PS 用户离开单页应用可以是以下任意一种:浏览器标签关闭,浏览器窗口关闭,浏览器返回按钮,浏览器转发按钮。
答案 0 :(得分:3)
您需要在窗口的onbeforeunload
事件中添加一个侦听器。
这是一种特殊类型的事件处理程序,您应该仔细阅读文档。
MDN文档:https://developer.mozilla.org/en/DOM/window.onbeforeunload
MS docs:http://msdn.microsoft.com/en-us/library/ie/ms536907(v=vs.85).aspx
Ext的标准附加事件处理程序的方式对于此特定事件不起作用。
您需要使用标准addEventListener
或attachEvent
方法。
示例:
我可以在用户关闭浏览器之前触发AJAX消息吗?是,
如果它是synchronous
:
Ext.Ajax.request({ url:'some url', 异步:假的, 方法: 'POST' });
†它似乎在Chrome中使用ext 4.1.1