我读了帖子:
inserting-css-with-a-firefox-extension
inserting-local-css-file-with-firefox-extension
我做得很好,如:
how-can-a-firefox-extension-inject-a-local-css-file-into-a-webpage
但我仍然无法将本地css文件注入网页。
我的js代码是:
var fileref = gBrowser.contentDocument.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "resource://myExtension/skin/sty.css");
gBrowser.contentDocument.getElementsByTagName("head")[0].appendChild(fileref);
当我在浏览器的位置栏中输入“chrome://myExtension/skin/sty.css”时,我可以看到我的css文件非常简单:
* {color:red !important;}
但由于某种原因,页面中的文字没有变红。
我在网页上查看了萤火虫,我在头标中看到了这个:
+ <link rel="stylesheet" type="text/css" href="resource://myExtension/skin/sty.css">
但是按下“+”符号并不会打开css文件内容。
我错过了什么?
谢谢!
答案 0 :(得分:0)
您可以使用样式表服务
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 u = ios.newURI("chrome://myExtension/skin/sty.css", null, null);
if(sss.sheetRegistered(u, sss.USER_SHEET))
sss.unregisterSheet(u, sss.USER_SHEET);