Greasy Fork

Greasy Fork is available in English.

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

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

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
yui酱
日安装量
0
总安装量
56
评分
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(别问,问就是不够时间翻别人的个人博客),这个崽种也不给我复制文章内容。所以,一气之下开始编写本脚本。
  • 中间尝试过把百度文库撕开,但是失败了,我的技术能力不足以支撑我对抗这种大公司。(悲


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