java - 拦截 JavaScript 卸载事件

标签 java javascript jquery events selenium

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

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

更新

由于混淆,这里有一个解释。我编写了一个 Java 应用程序,它使用 Selenium 2 提取有关用户事件的所有信息。这很容易完成,除了卸载。我必须等待拉动才能最终卸载页面。

最佳答案

如果您需要防止页面卸载,请参阅这篇文章: How do I stop a page from unloading (navigating away) in JS?

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

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

关于java - 拦截 JavaScript 卸载事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8350843/

相关文章:

Javascript groupBy 实现只产生 1 个组

java - 为什么我不能通过简单地排序序列来解决最长递增子序列?

java - 如何从 C 中运行/控制 Java 程序?

javascript - Sagas 和获取 promise

javascript - 如何在 Angularjs 中向 url 添加哈希和查询参数

javascript - XMLHttpRequest 无法加载,请求的资源上不存在 'Access-Control-Allow-Origin' header

javascript - 显示隐藏的 div 时页面向右移动

javascript - Jquery 制作输入复选框从表中选择所有用户

java - 在二叉树中,检查给定节点是否为叶节点

java - 当子类在本地重写其中一些方法时,如何强制子类使用父方法?