私はちょうど同じ問題に立ち向かい、私の解決策を分かち合うと思った。私はそのようにようにCSSをロードまたはアンロードされますコンテンツスクリプトを呼んでいる:
function loadCSS(file) {
var link = document.createElement("link");
link.href = chrome.extension.getURL(file + '.css');
link.id = file;
link.type = "text/css";
link.rel = "stylesheet";
document.getElementsByTagName("head")[0].appendChild(link);
}
function unloadCSS(file) {
var cssNode = document.getElementById(file);
cssNode && cssNode.parentNode.removeChild(cssNode);
}
呼び出す者のためのロジックはchrome.storage
のデータに基づいて、コンテンツスクリプトでもあります。だからあなたがする必要があるのは、スクリプトを注入することです。それはCSSを追加/削除します。
私のケースは実際はちょっと複雑なので、私はいつもコンテンツスクリプトを読み込み、メッセージを送信してCSSをロードまたはアンロードします。しかし、これは、すべてのページのロード時にファイルをロードするオーバーヘッドがあります。
私は既にあなたの3番目の質問、なぜ注入されたCSSはdevのツール[ここ]で表示されないかについて尋ねていた(http://stackoverflow.com/questions/28402524/how-to-view-css-stylesheet-injected) -by-a-google-chrome-extension-using-dev-tools?noredirect = 1#comment45224324_28402524)私がこれを見つけたとき。誰もがここで答えようとしたように見えないので、私はそのまま私のままにします。 – foobarbecue