禁止网页通过多种方式检测鼠标是否离开页面或窗口失去焦点,旨在保护用户操作不被意外中断或记录。
目前為
禁用鼠标离开的网页监听脚本说明
注意事项:此脚本旨在保护用户隐私,请勿用于非法用途。由于网页的复杂性和多样性,脚本可能无法在所有网站上完全生效。此脚本主要用于网课平台,也可以通用,只需改动 // @match 规则后的网页地址。
这是最直接的方法,阻止页面元素或文档本身监听到鼠标移出事件。使用 capture: true 确保在事件到达目标元素之前拦截它。
防止页面通过监听 window 对象来检测窗口是否失去焦点。
重写 document.visibilityState 和 document.hidden 的 getter 方法,使其始终报告页面是可见的且未被隐藏。
阻止页面监听到页面可见性变化的事件,配合第 3 点使用。
定期在文档上触发一个假的 mousemove 事件。注意:这不直接阻止“鼠标离开窗口”的检测(那主要靠 section 1),其主要目的更可能是模拟用户活跃,防止某些基于鼠标移动的闲置超时检测。坐标 (100, 100) 是任意选择的页面内坐标。
一些旧代码可能直接使用 onblur/onfocus 属性来设置监听器。将其设置为 null 可以阻止这些旧式监听器的执行。window.onfocus 通常不需要阻止,但如果需要,也可以设为 null。
重写 Document 原型上的 hasFocus 方法,使其始终返回 true。直接修改原型可能会影响页面上其他 iframe (如果它们共享相同的原型链),但在用户脚本的上下文中通常是可接受的。
脚本已初始化,鼠标离开/失焦检测已被禁用。