在Web浏览器中运行时,我可以动态注入样式表:
var link = document.createElement('link'),
head = document.getElementsByTagName('HEAD')[0];
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = '/path/to/stylesheet.css';
head.appendChild(link);
有没有办法在XULRunner中做同样的事情?我已经看到你可以使用一个名为Components.interfaces.mozIJSSubScriptLoader
的东西来加载JavaScript,但CSS是否也存在相同的功能?
答案 0 :(得分:1)
您可以尝试使用style sheet service。类似的东西:
var sss = Cc["@mozilla.org/content/style-sheet-service;1"]
.getService(Ci.nsIStyleSheetService);
var ios = Cc["@mozilla.org/network/io-service;1"] .getService(Ci.nsIIOService);
var uri = ios.newURI("chrome://pluginname/skin/notes.css", null, null);
if(!sss.sheetRegistered(uri, sss.USER_SHEET)) {
sss.loadAndRegisterSheet(uri, sss.USER_SHEET);
}