全局解除选中、复制与右键限制

精细控制网页限制解除行为 + 可配置强力解除全部限制模式 + 全部关闭模式 (Canvas增强) + 支持用户本地配置规则(本地规则优先于远程)(完结撒花)

作者
yui酱
日安装量
0
总安装量
35
评分
0 1 0
版本
1.4.3
创建于
2025-05-08
更新于
2025-05-15
大小
28.5 KB
许可证
MIT
适用于
所有网站

⚠️ 重要提示:请务必阅读!

  • 在更新脚本前,请务必备份您在脚本内 // --- 用户本地配置区域 --- 中定义的 localRules 否则,您的自定义规则可能会在更新时被覆盖。
  • 本脚本可能与某些网站的特定功能(如视频播放器的右键菜单、弹幕显示、特定交互式元素)产生冲突。如果您遇到此类问题,请参考下面的 “针对特定网站的兼容性问题和高级配置” 部分进行解决。

Github项目名称
Fuck_All_Web_Restrictions
去他妈的网页限制!(官方译名)
Dynamic JSON Badge 本项目的规则历史数量记录图表(每两小时更新)

Domain Rules Trend Chart

⚙️ 配置不需要被解除限制的网站的方法:

本脚本提供两种方法来控制其在特定网站上的行为:

方法一:通过油猴扩展快速禁用(推荐初学者)

这是最直接的方法,适用于临时或针对当前页面快速禁用脚本:

  1. 访问您希望禁用脚本功能的网站。
  2. 点击浏览器中的油猴扩展图标。
  3. 选择“在此网站禁用”或“排除该网址”(具体选项可能因油猴版本而异)。

如何恢复不小心排除的网址:

  1. 点击油猴扩展图标。
  2. 点击本脚本名称:《全局解除选中、复制与右键限制》。
  3. 在新打开的页面中,点击左上角的“设置”图标(通常是一个齿轮形状)。
  4. 在设置界面找到“包括/排除”部分,其中有一个“用户排除”列表。
  5. 在这里,您可以删除您不小心错误排除的网址。

方法二:通过脚本内的 localRules 进行高级自定义配置(推荐有经验用户)

通过修改脚本源码中的 localRules 变量,您可以实现对特定网站行为的精细化控制。您定义的 localRules 将优先于远程配置,这意味着您可以覆盖远程配置的默认行为,或者为特定网站定义全新的规则。

配置步骤:

  1. 点击油猴扩展图标,然后点击本脚本名称:《全局解除选中、复制与右键限制》进入脚本编辑页面。
  2. 向下滚动,找到脚本顶部(通常在 // ==UserScript== 块下方)的 // --- 用户本地配置区域 ---
  3. 移除示例 localRules 数组外面的 /**/ 注释符号,以启用本地配置功能。 (示例代码通常在注释中) javascript /* const localRules = [ // ... 您的规则 ... ]; */ // 启用后应变为: const localRules = [ // ... 您的规则 ... ];
  4. 根据您想要修改的网站行为,在已启用的 localRules 数组中添加或修改规则对象。

    • 每个规则对象应包含 domain(网站域名的正则表达式)和您想要调整的配置项。
    • 对象之间需要用逗号 , 分隔。

    示例:如果您想完全禁用脚本在某个网站(例如 example.com)上的所有解除限制功能,可以添加:

    {
      "domain": "\\.example\\.com$", // 匹配 example.com 及其子域名
      "unlockOff": true              // 在此网站禁用所有解除限制功能
    }
    

    示例:如果您在 Bilibili 视频页面想恢复右键菜单,并且避免弹幕被移除,可以添加或修改针对 Bilibili 的规则:

    {
      "domain": "bilibili\\.com", // 匹配 Bilibili 域名(也可以是 "\\.bilibili\\.com$" 根据具体需求)
      "unlockContext": false,     // 禁用解除右键菜单限制(恢复右键菜单)
      "unlockOverlay": false      // 如果弹幕问题与遮罩层相关,可以禁用此项
    }
    
  5. 完成修改后,务必保存脚本(通常按 Ctrl + S 或点击编辑器上方的“保存”按钮)。

💡 如何获取网站域名的正则表达式:

如果您不确定如何编写网站的正则表达式,可以向 AI(例如 ChatGPT、Gemini、Deepseek、通义、豆包、Kimi、文心一言、元宝、智谱 等)提问,例如:“请写一个用于油猴脚本匹配网站 https://www.example.com/path/to/page 的正则表达式。” AI 通常能提供正确的 "domain" 匹配模式。请注意,"domain" 字段只需要匹配域名部分,不需要匹配完整的 URL 路径。


📚 JSON 配置字段说明:

以下是规则对象中可以使用的字段及其说明:

  • "domain" (String): 必填。 一个正则表达式字符串,用于匹配需要应用此规则的网站域名。
    • 示例:
      • "\\.example\\.com$" 匹配 example.com 及其所有子域名(如 www.example.com, sub.example.com)。
      • "^test\\.com$" 仅匹配 test.com,不匹配 www.test.com
      • "bilibili\\.com" 匹配所有包含 bilibili.com 的域名。
  • "comment" (String): 可选。用于在 JSON 中添加注释的字段,脚本解析配置时会忽略包含此字段的对象,不将其作为规则处理。
  • "unlockSelect" (Boolean): 是否解除页面文本选中限制。true:解除;false:不解除。
  • "unlockCopy" (Boolean): 是否解除页面文本复制/剪切限制。true:解除;false:不解除。
  • "unlockContext" (Boolean): 是否解除右键菜单限制(即恢复右键功能)。true:恢复;false:不恢复。
  • "unlockOverlay" (Boolean): 是否尝试移除页面上的常见透明遮罩层(常规版)。true:移除;false:不移除。
  • "unlockOverlayPro" (Boolean): 是否尝试强力移除页面上的遮罩层及鼠标事件阻碍(强力版)。true:强力移除;false:不强力移除。
    • 注意:如果 unlockOverlayunlockOverlayPro 同时设置为 trueunlockOverlayPro 将优先。
  • "forceUnlockAll" (Boolean): 是否启用“强力解除所有限制模式”。此模式会非常激进地尝试解除几乎所有限制,包括某些 JavaScript 行为和定时器。true:启用;false:不启用。
    • 注意:此模式优先级很高,一旦启用,将忽略其他解除限制设置,并可能影响页面正常功能。
  • "unlockOff" (Boolean): 最高优先级。 是否在此网站上完全禁用本脚本的所有解除限制功能。true:在此网站禁用;false:不禁用。
    • 注意:如果此项设置为 true,脚本将立即退出,不会执行任何解除限制操作。

🐞 报告问题或建议适配新网站

本脚本已尽力适配常见限制,但互联网网站千变万化,总会有些地方可能无法正常工作,或者与网站原有功能冲突。

如果您在使用过程中遇到以下情况,恳请您花一点时间将问题反馈给我:

  • 在某个网站上,脚本未能解除您预期的限制。
  • 在某个网站上,脚本的某个功能(如移除遮罩层)导致了网站原有功能异常。
  • 您有希望脚本适配或优化解除规则的新网站。

您的反馈对我持续改进脚本至关重要!您的反馈和贡献就像 BT 种子,汇聚大家的力量,才能让这个脚本不断完善,惠及更多用户,让我们一起进步!

反馈途径:

  1. Greasy Fork镜像 评论区: 在脚本页面下方留言反馈。
  2. GitHub Issues: 如果您熟悉 GitHub,可以在本仓库的 Issues 页面 提交问题(推荐,便于跟踪和交流)。请点击这里提交:👉 提交 Issue

反馈格式建议 (请尽量提供以下信息):

请在反馈 Issue 或评论中包含以下信息,以便我更快地定位问题:

  • 网站 URL: 请提供完整的页面链接,例如 https://www.some-problem-site.net/article/123
  • 问题描述: 详细说明遇到的具体问题,例如“文章内容无法选中和复制”、“右键菜单打不开”、“登录(不可用)弹窗移不掉”、“点击某个按钮没反应”等。
  • 期望效果/冲突功能: 说明您希望脚本在该网站上实现什么功能,或者认为脚本的哪个功能与网站冲突了(例如“希望可以正常复制文本”、“发现‘强力遮罩’导致页面布局错乱”)。
  • 浏览器及版本: 例如 Chrome v120, Firefox v115。
  • Tampermonkey 版本: 例如 Tampermonkey v4.19。
  • 脚本版本: 您当前安装的脚本版本号(可以在 Tampermonkey 面板查看)。
  • 是否使用了本地配置 (localRules): 是/否。如果使用了,并且该网站使用了本地规则,最好能提供该网站对应的本地规则代码段。

例如,一个良好的反馈示例:

网站 URL: https://www.some-problem-site.net/article/123
问题描述: 文章内容无法复制
期望效果/冲突功能: 希望可以正常复制文本
浏览器及版本: Edge v124
Tampermonkey 版本: v4.20
脚本版本: v1.4.7
是否使用了本地配置: 否

🙏 特别鸣谢:

  • :感谢每一位使用、支持并提出反馈的用户!
  • 我 (yui酱):感谢我提出宝贵的想法和持续的测试反馈,使脚本功能日益完善。(厚脸皮)
  • Gemini (Google AI):感谢在脚本功能设计、代码优化和文档编写过程中提供的专业指导和建议。
  • ChatGPT (OpenAI):感谢在部分代码实现和文档润色方面提供的支持和帮助。

📕 小故事:

  • 历时开发大约25个小时,从零到现在的完成品,本脚本起源于第一次投稿的晚上的前一晚的十点钟,在 Edge 打开我的微信公众号文章,结果发现居然不给我选择文本?天理难容!然后又想起来每次上机房课的只能查得到 CSDN(别问,问就是不够时间翻别人的个人博客),这个崽种也不给我复制文章内容。所以,一气之下开始编写本脚本。
  • 中间尝试过把百度文库撕开,但是失败了,我的技术能力不足以支撑我对抗这种大公司。(悲


🎃 如果你想了解本脚本的运作逻辑图解可以点击👉这里查看

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址