GM脚本中的本地CSS资源未识别



我有一个gm脚本,其中包含以下内容:

...
// @grant          GM_addStyle
...
// @resource       css my.css
...
GM_addStyle(GM_getResourceText('css')) // the error occurs here
...

gm从其config.xml(偶尔发生)扔掉了此脚本,因此:

  • 我将脚本文件夹重命名为 /*.OLD
  • 创建了一个具有相同名称的新脚本,
  • 将所有文件(*.css等)从*.OLD复制到新脚本文件夹,除了脚本文件(<name>.user.js)本身,
  • c&amp;在/*.OLD/<name>.user.js到新创建的脚本文件的代码。

现在它再次运行,但抛出:

Error: No resource with name "css"

为什么?资源是上面声明的它存在于脚本的文件夹中。(声明和实际文件名之间也没有上限/较低的案例差异。)

update

Windows 7教授SP 1(64位),FF 56.0.2(64位),GM 3.17

greasemonkey,Pre版本4,不仅是通过XML文件进行的。它还使用了*.db文件,并在启动时扫描了脚本文件夹。多年来,都不需要用任何一个配置文件弄乱。

无论如何,问题中的方法几乎是重新安装不起作用GM版本的脚本的唯一方法。通常,您不能仅在损坏的配置上复制@require@resource。greasemonkey仍然感到困惑。

这应该解决:

  1. 复制所有必需的, local 文件,从有问题的脚本的目录到既不在系统温度路径中的工作目录,也不是GM_Scripts文件夹。
    我建议使用文件夹树或git存储库等。保存/跟踪Firefox之外的脚本。
  2. 使用GreaseMonKey的脚本管理器,卸载旧脚本(如果存在)。
  3. 关闭Firefox。使用任务管理器确保没有Firefox进程保留在内存中。
  4. 在具有*.user.js文件的工作文件夹中,确保存在所有 @require d或 @resource d,局部的文件。
    如果@require@resource路径指向可行的服务器路径,则该文件不必在本地驱动器上(GreaseMonKey将在脚本安装上进行一次将其置换)。
  5. 重新启动Firefox。
  6. 从Windows Explorer,将*.user.js文件拖放到Firefox上。这应该提示它安装脚本。
  7. 确认安装后,Firefox将正确复制本地文件(并获取任何网络文件),并且脚本应正确运行。




额外的信用:由于Firefox(57 )和GreaseMonKey(4 )的当前版本严重残废且功能失调,因此考虑迁移到Tampermonkey和更好的浏览器。实际上, GreaseMonKey本身建议迁移到Tampermonkey或暴力monkey。

到目前为止,我发现UR浏览器既是最宽敞,最稳定的,而没有Chrome的邪恶" Grabbyness"。(Opera打破了更多的脚本/扩展; Vivaldi很有希望,但有障碍;其他人已经出现了各种问题。)

最新更新