拦截JavaScript卸载事件

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

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

更新

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

如果你需要阻止页面卸载,请参阅这篇文章: 如何在JS中停止页面卸载(导航)?

如果您需要跟踪页面卸载,您可以在窗口的卸载事件期间发出同步xhr请求(tip set async = false) (在此请求完成之前,您的页面不会退出)

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

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

例如:onunload =“yourMethod();”