拦截JavaScript卸载事件

时间:2011-12-02 01:54:53

标签: java javascript jquery events selenium

假设我的网页包含任意数量的附加了事件处理程序的元素,让我们说onclick。在处理程序中,触发卸载事件,例如通过分配window.location

任务:我需要检测事件处理程序是否会卸载页面。我如何添加另一个拦截卸载事件的事件处理程序并将其存储在变量中而不是触发它?

更新

由于混乱,这是一次表达。我编写了一个Java应用程序,它使用Selenium 2来提取有关用户事件的所有信息。除卸载外,这很容易完成。在最终卸载页面之前,我必须等待拉动。

2 个答案:

答案 0 :(得分:2)

如果您需要阻止页面卸载,请参阅此帖子: How do I stop a page from unloading (navigating away) in JS?

如果您需要跟踪网页卸载,可以在synchronous xhr request (tip set async=false)期间设置window's unload event(在此请求完成之前,您的网页不会退出)

如果您需要跟踪哪些自定义事件处理程序卸载页面,则必须跟踪当前事件处理程序,然后执行上述解决方案之一。

答案 1 :(得分:0)

在页面卸载时将调用body的onunload处理程序。因此,您可以创建一个javascript方法将其存储在变量中。

例如: onunload的= “yourMethod();”