打开特定 URL 时在 FireFox 中的选项卡上激活脚本的方法

A way to activate a script on a tab in FireFox when a specific URL is opened

正如标题所说,我需要我的插件来执行一个脚本,该脚本将在打开特定 URL 时注入一些 CSS。如何将脚本调用到 运行?

假设您使用的是附加 SDK,这是通过使用 page-mod (documentation on MDN) 完成的。

我的页面 linked to on MDN 有大量关于使用页面-mod 的信息。从该页面引用:

页面-mod:
运行 网页上下文中的脚本,其 URL 与给定模式匹配。

用法:

要使用页面-mod,您指定:

  • 要附加的一个或多个脚本(或其他内容,例如 CSS)。 SDK 调用这些脚本 "content scripts"。
  • 页面 URL 必须匹配的模式,以便 要附加到该页面的脚本。

例如,以下加载项会在用户访问 "mozilla.org" 上托管的任何页面时显示警报:

var pageMod = require("sdk/page-mod");

pageMod.PageMod({
  include: "*.mozilla.org",
  contentScript: 'window.alert("Page matches ruleset");'
});

对于您注入 CSS 的特定需求,您可以使用以下两个 options to the page-mod constructor 之一:

  • contentStyle:列出要附加的样式表,以字符串形式提供。
  • contentStyleFile:列出要附加的样式表,在单独的文件中提供。

您想知道如何执行脚本。您希望脚本注入 CSS,但这是直接使用上面的选项完成的,而不是让脚本来完成。但是,如果您想注入脚本文件来执行其他任务,您可以使用 contentScriptFile 选项。