MacOS下Chrome的Tampermonkey用@require加载本地脚本报禁止URL错误如何解决
解决方案
1. 修改Tampermonkey内部安全配置
你已经开启了Chrome扩展层的文件访问权限,但还需要修改Tampermonkey本身的安全限制:
- 打开Tampermonkey管理面板,切换到「设置」标签页
- 下拉找到安全分类,找到「@require 和 @resource 允许的协议」配置项
- 在允许列表中添加
file协议,也可以直接选择「所有本地协议」选项 - 同分类下找到「安全模式」配置,将等级调整为「默认」,不要使用最高级的严格安全模式
2. 清理路径中的隐藏字符
你当前的路径里file://后面附带了不可见的Unicode控制字符,会导致路径解析失败,手动修正为标准格式即可,示例:
// ==UserScript== // @name Google Mods // @run-at document-start // @namespace http://google.com/ // @version 1.00 // @description Google mods // @author John Doe // @match https://*.google.com/* // @require file:///Users/johndoe/Desktop/google.user.js // ==/UserScript==
注意路径开头为3个连续斜杠,不要带入从访达复制路径时附带的格式类隐藏字符,你可以把路径粘贴到纯文本编辑器中,删除所有异常的空白字符后再填入脚本头。
3. 备选兼容方案
如果上述配置调整后仍不生效,可以用本地HTTP服务的方式加载脚本,完全避开文件访问权限限制:
- 打开终端,进入你存放用户脚本的目录
- 执行命令
python3 -m http.server 8123(端口可自行修改) - 将@require地址改为
http://localhost:8123/google.user.js即可
修改本地脚本后刷新页面就能加载到最新版本,使用体验和直接引用本地文件一致。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

