我正在尝试使用nsIStyleSheetService
注入样式表文件。
当我这样做时,它会在所有页面上注入样式,但我想仅针对某些网站。
有可能吗?
我的代码:
LoadStyleSheet = function(source) {
var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
.getService(Components.interfaces.nsIStyleSheetService);
var ios = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var uri = ios.newURI("chrome://addon/content/css/" + source, null, null);
if(!sss.sheetRegistered(uri, sss.AGENT_SHEET))
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
};
和
if (/^https?:\/\/[^\/]+google.*/i.test(window.location.href))
{
LoadStyleSheet("config.css"); // register the style on all pages
// while my target is just Google
}
答案 0 :(得分:1)
首先,您可能希望指定USER_SHEET
而不是AGENT_SHEET
。其次,您必须指定样式表like this code中应用的内容。更多信息can be found here。