禁用鼠标离开的网页监听

禁止网页通过多种方式检测鼠标是否离开页面或窗口失去焦点,旨在保护用户操作不被意外中断或记录。

目前為 2025-04-01 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
MyOxygen U're
評價
0 0 0
版本
v0.3
建立日期
2025-04-01
更新日期
2025-04-01
尺寸
3.3 KB
授權條款
MIT
腳本執行於

禁用鼠标离开的网页监听脚本说明



禁用鼠标离开的网页监听脚本

注意事项:此脚本旨在保护用户隐私,请勿用于非法用途。由于网页的复杂性和多样性,脚本可能无法在所有网站上完全生效。此脚本主要用于网课平台,也可以通用,只需改动 // @match 规则后的网页地址。

功能说明:

  1. 1. 阻止 mouseout 和 mouseleave 事件监听器

    这是最直接的方法,阻止页面元素或文档本身监听到鼠标移出事件。使用 capture: true 确保在事件到达目标元素之前拦截它。

  2. 2. 阻止 window 上的 blur 和 focusout 事件监听器

    防止页面通过监听 window 对象来检测窗口是否失去焦点。

  3. 3. 伪造页面可见性状态 (Page Visibility API)

    重写 document.visibilityStatedocument.hidden 的 getter 方法,使其始终报告页面是可见的且未被隐藏。

  4. 4. 拦截 visibilitychange 事件

    阻止页面监听到页面可见性变化的事件,配合第 3 点使用。

  5. 5. 模拟鼠标持续在页面内活动 (可选,可能用于对抗闲置检测)

    定期在文档上触发一个假的 mousemove 事件。注意:这不直接阻止“鼠标离开窗口”的检测(那主要靠 section 1),其主要目的更可能是模拟用户活跃,防止某些基于鼠标移动的闲置超时检测。坐标 (100, 100) 是任意选择的页面内坐标。

  6. 6. 重写旧式的 window.onblur 和 window.onfocus 事件处理

    一些旧代码可能直接使用 onblur/onfocus 属性来设置监听器。将其设置为 null 可以阻止这些旧式监听器的执行。window.onfocus 通常不需要阻止,但如果需要,也可以设为 null

  7. 7. 防止通过 document.hasFocus() 方法检测页面焦点

    重写 Document 原型上的 hasFocus 方法,使其始终返回 true。直接修改原型可能会影响页面上其他 iframe (如果它们共享相同的原型链),但在用户脚本的上下文中通常是可接受的。

初始化:

脚本已初始化,鼠标离开/失焦检测已被禁用。