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



我为Firefox创建了一个主题,其中包含一个简单的样式表。我目前正在使用Stylish扩展,但我想将我的主题作为Firefox插件共享(因为主题是简单的图像)。我并没有很快在搜索引擎中找到任何关于这方面的信息,只是在MDN上找到了一个过时的资源。

有什么技巧可以作为插件共享这个CSS吗?(奖励:从git repo自动释放)

如果它是您所描述的简单样式表,那么您必须将样式表附加到nsIDOMWindow。带有插件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。这里介绍了如何安装它。一旦你安装了它,你应该创建一个包含你的扩展名的目录。然后打开一个终端/控制台并键入jpm-init。根据需要填写提示字段。您还可以查看package.json中提供的这些附加选项(它位于带有扩展名的目录根目录中),并使用它们。

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

uri: "./index.css" 

使用您的文件名。

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

相关内容

最新更新