Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript can';t使用firefox扩展将本地css文件插入网页_Javascript_Css_Firefox Addon - Fatal编程技术网

Javascript can';t使用firefox扩展将本地css文件插入网页

Javascript can';t使用firefox扩展将本地css文件插入网页,javascript,css,firefox-addon,Javascript,Css,Firefox Addon,我读了一些帖子: 我做得很好,比如: 但我仍然无法将本地css文件注入网页 我的js代码是: var fileref = gBrowser.contentDocument.createElement("link"); fileref.setAttribute("rel", "stylesheet"); fileref.setAttribute("type", "text/css"); fileref.setAttribute("href", "resourc

我读了一些帖子:

我做得很好,比如:

但我仍然无法将本地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;}
但由于某种原因,页面中的文本没有变红

我在网页中查看了firebug,在头部标签中看到:

+ <link rel="stylesheet" type="text/css" href="resource://myExtension/skin/sty.css">
+
但是按下“+”符号并不会打开css文件内容

我错过了什么


谢谢

您可以使用样式表服务

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);

我使用了
sss.loadAndRegisterSheet(u,sss.USER_SHEET)而不是最后两行,它正在工作。尽管我希望它能用第一种方法工作。无论如何,谢谢你。