2012-02-03 25 views
1

を使用してウェブページにローカルのCSSファイルを挿入することはできません私はスレッドを読んで:は、Firefoxの拡張機能

inserting-css-with-a-firefox-extension

inserting-local-css-file-with-firefox-extension

私はのようにexaclyました:

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

私は「クローム://myExtension/skin/sty.css」と入力していたときに私のブラウザでロケーションバーに私はかなりある私のCSSファイルを見ることができます単純な:

* {color:red !important;} 

しかし、ページのテキストが赤くならない。

私は、Webページに放火犯に見ていると私は頭のタグこの中で見た:

+ <link rel="stylesheet" type="text/css" href="resource://myExtension/skin/sty.css"> 

が、「+」記号を押すとcssファイルの内容を開いていません。

私には何が欠けていますか?

ありがとうございます!

答えて

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

を使用することができます 'sss.loadAndRegisterSheet(U、sss.USER_SHEET);'代わりに、最後の2行の、それが働いています。最初の方法で作業したかったのですが。とにかくありがとう。 – remi

関連する問題