【问题标题】:Can I run Greasemonkey scripts on chrome:// and resource:// URIs?我可以在 chrome:// 和 resource:// URI 上运行 Greasemonkey 脚本吗?
【发布时间】:2014-10-20 03:32:37
【问题描述】:

我正在尝试修改加载项屏幕的行为,该加载项的 URL 以 resource:// 开头。所以我用这个设置添加了一个用户脚本:

// @include resource://jid0-gxjllfbcoax0lcltedfrekqdqpi-at-jetpack/as-ff/data/edit.html

它不起作用:

我知道除了resource://about: 还有其他伪协议。 Greasemonkey 可以在这些路径 (URI) 上运行用户脚本吗?

【问题讨论】:

  • 正如 Arantius 所说,这是不可能的。 (因为他是主要 GM 版本的控制开发人员,这也不太可能改变。)您可以分叉 Greasemonkey 代码(或 Scriptish 代码)并尝试支持该方案。或者,在这种情况下,忘记所有这些,只需派生该插件并在您指定的 HTML 文件中进行更改。
  • @BrockAdams 是的,我现在正在尝试这样做。但是重新打包并重新安装整个插件以测试任何编辑的时间要长得多。我可能会在测试阶段将脚本托管在 localhost 上,以便每次都重新加载它。
  • @TomášZato 您无需重新打包插件即可测试更改。 A)您可以在您的个人资料的extensions 目录中创建一个文件。该文件可以包含一行,其中包含扩展名顶级目录的完整路径。 B)或者,您可以将其解压缩到您的个人资料的extensions 目录中的子目录中。然后您可以禁用/启用它,或重新启动 Firefox(多个附加组件提供一键重启)。

标签: firefox firefox-addon uri greasemonkey


【解决方案1】:

Greaseable schemes in the Greasemonkey docs

Greasemonkey 仅在特定位置运行脚本。我强烈怀疑该页面将以 chrome 权限运行,因此即使resource:// 是允许的方案,也会被拒绝。

请注意,此问答以Greasemonkey issue 2039 交叉发布。

【讨论】:

  • @TomášZato 不,没有 usr 级别的解决方法。您可以编写一个 Firefox 插件来进行您想要的修改。或者,如果插件的许可证允许,您可以直接修改要更改的插件的代码。从 URL 中的“jetpack”来看,它是一个基于附加 SDK 的 Firefox 附加组件。因此,它很可能完全是(在打包之前)JavaScript 和 HTML。该插件将包含在一个.xpi 文件中,该文件只是一个更改了文件扩展名的.zip 文件。改回文件扩展名并解压缩以获取内容。
  • 是的,我做到了。但是,这样一来,其他人可能不会从我的工作中受益,因为他们不会信任修改后的附加组件。我正在尝试让AwesomeScreenshot 将图像直接上传到 Imgur 的 stackoverflow 帐户。到目前为止,I added Imgur uploads 是附加组件。我现在正在努力寻找如何直接上传到 stackoverflow 帐户。
【解决方案2】:

你可以试试Scriptish,它有一个setting来启用chrome协议。

【讨论】:

猜你喜欢
  • 2018-02-17
  • 1970-01-01
  • 1970-01-01
  • 2015-09-06
  • 2011-03-26
  • 2011-09-15
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多