通过firefox扩展将CSS文件注入网页

ita*_*o40 8 css firefox-addon firefox-addon-sdk

我正在写一个Firefox扩展,我正在使用他们的附加SDK; 但我无法弄清楚如何将数据文件夹中的本地CSS文件注入网页.如果有办法通过page_mod包来做这件事会很棒.

Nic*_*lay 6

从Add-on SDK 1.14开始,在page-mod模块中有实验(API可能会改变)支持:

var pageMod = require("sdk/page-mod").PageMod({
  include: "*",
  contentStyleFile: require("sdk/self").data.url("my-style.css")
});
Run Code Online (Sandbox Code Playgroud)

有关使用page-mod的详细指南,请参阅基于URL修改网页.

Addon SDK维基上一个页面讨论当前实现的问题,虽然看起来有点过时了.

它使用nsIDOMWindowUtils .loadSheet()来添加样式表而不触及页面的DOM.(此API已在Firefox 18中添加,请参阅错误737003.在此之前,您必须使用类似的nsIStyleSheetService,但不是特定于选项卡的.)


在此之前,您可以使用page-mod的内容脚本来插入链接或样式元素(示例).[编辑]感谢lwburk的评论,这里是Greasemonkey Hacks中更详细的详细描述:使用Firefox重新混合Web的提示和工具Mark Pilgrim:"改变页面样式"部分.