如何从简单的样式表创建Firefox主题(插件?)?

时间:2016-04-19 17:16:56

标签: firefox-addon

我为Firefox创建了一个涉及简单样式表的主题。我目前正在使用Stylish扩展,但我想分享我的主题作为Firefox插件(因为主题是简单的图像)。 我没有在搜索引擎中快速找到任何相关内容,只在MDN上找到过时的资源。

任何提示将此CSS作为插件分享? (奖励:从git repo自动释放)

1 个答案:

答案 0 :(得分:2)

如果它是您所描述的简单样式表,那么您必须将样式表附加到nsIDOMWindow。使用addon-sdk的示例代码

const { attachTo, detachFrom } = require("sdk/content/mod");
const { Style } = require("sdk/stylesheet/style");
const { getMostRecentWindow } = require("sdk/window/utils");
const { browserWindows } = require("sdk/windows");
const { viewFor } = require("sdk/view/core");
const style = Style({
  uri: "./index.css" // path to file
});

attachTo(style, getMostRecentWindow());


browserWindows.on("open", function(window) {
  attachTo(style,viewFor(window));
});

require("sdk/system/unload").when(function() {
  for (let window of browserWindows)
    detachFrom(style, viewFor(window));
});

修改: 要开始使用addon-sdk,你必须有jpm。 Here描述了如何安装它。安装后,您应该创建一个包含扩展名的目录。然后打开终端/控制台并输入jpm init。根据需要填写提示字段。您还可以查看package.json中提供的these个其他选项(它在您的目录根目录中的扩展名)并使用它们。

下一步是将我的代码粘贴到index.js中(您可以将代码粘贴到其他位置,但之后必须使用require导入该文件)。创建一个目录" data"在扩展目录中,并在那里创建一个带样式表的文件。然后替换" index.css"这里

uri: "./index.css" 

使用您的文件名。

完成后,在终端/控制台中键入jpm xpi,您的扩展就可以安装了!祝你好运