GM脚本中的本地CSS资源无法识别

时间:2017-12-03 13:59:36

标签: css greasemonkey

我有一个包含以下内容的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; Ped代码从/*.OLD/<name>.user.js到新创建的脚本文件。

现在它再次运行但抛出:

Error: No resource with name "css"

为什么这样?上面声明了资源 ,并且在脚本的文件夹中它存在。 (声明和实际文件名之间也没有大小写差异。)

更新

Windows 7 Prof. SP 1(64位),FF 56.0.2(64位),GM 3.17

1 个答案:

答案 0 :(得分:2)

Greasemonkey,版本4之前,并没有通过xml文件。它还使用了*.db文件,并在启动时扫描了脚本文件夹。多年来没有必要弄乱配置文件。

无论如何,该问题的方法只是重新安装一个不能在该GM版本上运行的脚本的唯一方法。您通常无法在损坏的配置上复制@require@resource。 Greasemonkey仍然感到困惑。

这应该解决它:

  1. 将所有必需的本地文件从违规脚本的目录复制到既不在系统临时路径中也不在gm_scripts文件夹中的工作目录。
    我建议使用文件夹树或Git存储库等来保存/跟踪Firefox之外的脚本。
  2. 使用Greasemonkey的脚本管理器,卸载旧脚本(如果存在)。
  3. 关闭Firefox。使用任务管理器确保没有Firefox进程留在内存中。
  4. 在包含*.user.js文件的工作文件夹中,确保所有@require d或@resource d, 本地 <的文件/ strong>,在场。
    如果@require@resource路径指向可行的服务器路径,则该文件不必位于本地驱动器上(Greasemonkey将在脚本安装时重新获取一次)。
  5. 重启Firefox。
  6. 从Windows资源管理器中,将*.user.js文件拖放到Firefox上。这应该提示它安装脚本。
  7. 在确认安装后,Firefox将正确复制本地文件(并获取任何网络文件),并且脚本应该正确运行。

  8. 额外信用:由于当前版本的Firefox(57+)和Greasemonkey(4+)严重瘫痪且功能失调,请考虑迁移到Tampermonkey和更好的浏览器。事实上, Greasemonkey itself recommends migrating to Tampermonkey or Violentmonkey.

    到目前为止,我发现the UR Browser是最具可扩展性和稳定性的,没有邪恶的&#34;抓狂&#34;的Chrome。 (Opera打破了更多的脚本/扩展; Vivaldi很有前途,但有问题;其他人有各种各样的问题。)