功能更新:
- 优化代码结构
- 兼容性增强
- 修复重复执行:加入
__UNLOCK_SCRIPT_LOADED__ 标记,避免重复注入 - 全局事件拦截优化:通过
Set 管理被屏蔽的事件类型,减少遍历消耗 - 更安全的属性 Hook:
- 使用
Object.defineProperty 精确拦截 window.onblur 与 document.onvisibilitychange - 阻止网页覆盖这些属性
- 页面状态伪装:
- 让页面始终处于
document.hidden = false 与 visibilityState = "visible" 状态 document.hasFocus() 始终返回 true,防止“切屏检测”提示
- 智能解除事件绑定:
- 自动移除节点上的
oncopy、oncontextmenu 等内联事件 - 仅在检测到
user-select: none 时恢复文字可选状态,避免误修改样式
- DOM 动态防护:
- 通过
MutationObserver + requestIdleCallback 持续监控页面变化
使用建议
1. 建议在 Tampermonkey 中启用「在所有框架中运行(包括弹出窗口)」选项,
以确保在新窗口与弹出页面中也能自动注入
2. 若目标站点为 PWA 独立窗口,请在浏览器设置中取消其安装后再用标签页方式打开