页面卸载可能有不同的原因:
1用户关闭当前窗口。
2用户导航到其他位置。
3单击后退,前进,刷新或主页按钮。
4用户提交表单,然后浏览器开始卸载当前页面并载入页面,并提交表单结果。 (假设当前窗口是窗体的目标)。
5等等...
我可以以某种方式知道onunload的处理程序卸载的原因是第4页,即移动到页面提交表单的结果吗?
我可以在提交表单时定义一些标志,但这并不能解决问题。由于来自Web服务器的响应(在表单提交上)需要一些时间,因此浏览器不会立即卸载当前页面并等待来自服务器的响应。在此期间,用户可能会关闭窗口或在任何地方导航。我需要知道它是否真的转向结果页面或其他内容......?如何在IE的onnload事件中获取页面卸载的原因?
2
A
回答
1
您可以劫持其中的一些事件。
例如,对于链接,您可以添加在链接的事件处理程序,节省了他们的href
属性,执行您需要什么,然后设置window.location
到href
你已经保存在一个变量。
0
页面卸载的确切原因无法在卸载处理程序中知道。 OnUnload事件不是一个标准,并且首先由IE实现。
不同的浏览器可能会以不同的方式处理它,并针对不同的情况触发事件。
所以,如果你想知道在卸载处理程序卸载的原因,我想你可能是出于运气。然而,正如Alex在他的回答中指出的那样,通过点击页面上的某个链接,您可以通过让这些链接的点击处理程序更加智能化,来了解用户是否可以从页面导航。
相关问题
- 1. asp.net中的页面卸载事件
- 2. 在IE中缓慢卸载页面
- 3. 如何获取Chrome中页面加载事件的通知?
- 4. 如何卸载IE插件
- 5. 内容页面卸载事件
- 6. 更改页面后卸载事件
- 7. 在IE浏览器中,onbeforeunload事件被解雇,链接不会卸载页面
- 8. 如何获取datacontext在窗口卸载事件后面的代码
- 9. JSF中的页面卸载事件处理
- 10. 停止页面在beforeunload事件处理程序中卸载
- 11. 如何获得并从每当页面被刷新或卸载window.onbeforeunload事件
- 12. 在Phonegap中卸载事件
- 13. HTML页面卸载不会总是在IE中调用
- 14. XUL事件:新页面加载/获取页面内容
- 15. Symfony2:在页面加载事件监听器中获取路由
- 16. 的Javascript卸载页面条件
- 17. 卸载HTML页面
- 18. ASP.NET MVC - 在页面卸载
- 19. 如何在IE插件的子域中获取IFrame的页面源码
- 20. 如何获取BleScanException的原因?
- 21. 卸载事件不会在IE中触发window.open
- 22. 获取Facebook页面的事件
- 23. IE条件判断原因
- 24. 如何停止卸载页面?
- 25. 如何获取在UIWebView中加载的页面的http://地址?
- 26. 卸载事件时,母版页
- 27. C#卸载事件
- 28. jQuery卸载事件
- 29. 在asp.net中的OnPreRender事件中获取页面url
- 30. 如何提高安装程序中的卸载事件在c#
谢谢,但我需要抓住所有案例......或者一个案例 - 移动到提交结果页面。目前我使用框架(即onunload事件在主窗口上,表格在主窗口内框架中),但这种方法也有缺点。 – 2010-04-27 05:56:18