为什么@require 在 MacOS 上的 Greasemonkey/Tampermonkey 上的本地脚本总是给我错误“无法从禁止的 URL 加载 @require”

问题描述

我喜欢将我的个人用户脚本保存在同步到云的本地存储上。我过去所做的只是简单地备份它们,但后来我意识到我可以使用 @require 标签链接到我可以在我的 IDE 中编辑的本地版本的文件

这工作了一段时间,但大约 2 年前由于某种原因停止工作,我想解决这个问题,因为我最近越来越多地使用用户脚本。

我正在使用 Google ChromeTampermonkeyMacOS

这是我的用户脚本代码示例。请注意,我确定路径是正确的。

// ==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==

当我查看页面时查看控制台时,我可以看出它正在尝试加载脚本但找不到它。这是错误的样子

Tampermonkey:无法从禁止的 URL 文件中加载 @require:///Users/johndoe/Desktop/google.user.js

对我遗漏的任何帮助将不胜感激。

编辑:为了清楚起见,我启用了扩展设置 Allow access to file URLs

解决方法

出于安全原因,现代浏览器中的扩展程序无法访问文件系统。因此,用户脚本管理器将无法加载 file://⁨/Users/johndoe/Desktop/google.user.js