我想使用firefox插件修改网站的页面CSS。我不想安装像greasemonkey这样的扩展程序并添加CSS。我想创建一个扩展。目标是有一个扩展,其唯一的功能是将CSS注入页面。
警告: 不要告诉我“你不需要扩展来改变CSS”。我已经知道了。 这个问题是关于构建扩展程序。谢谢。
答案 0 :(得分:2)
基本上,您需要执行2项任务:
勾选以查看所有新页面的打开状态。
Here是如何做到这一点的一些例子。但它需要在所有浏览器xul窗口中添加脚本。这很简单:只需将窗口脚本添加到空的XUL叠加层并将其添加到插件清单中即可。
获得对DOM页面的访问权限后,您实际上可以
将样式表插入页面。
要实现此目的,您需要创建一个样式表容器:
// This may also be a data: or chrome: URL
var stylesheetURL = "http://example.com/style.css";
var container = document.createElementNS("http://www.w3.org/1999/xhtml","style");
container.setAttribute("id", "your-extension-stylesheets");
// You should remove this when deactivating extension
document.documentElement.appendChild(container);
var stylesheet = conteiner.sheet;
var addedIndex = stylesheet.insertRule("@import url('" + stylesheetURL + "');", stylesheet.cssRules.length);
// Use stylesheet.deleteRule(addedIndex) when is's no longer needed
答案 1 :(得分:0)
如果您只想覆盖特定网站上的CSS,则不需要扩展程序。
查看Firefox的用户CSS,它允许您指定额外的CSS来应用每个域。
例如,请参见超级用户How to override the CSS of a site in Firefox with userContent.css?。