CSSRule
DOM interfaceには、CSSルールの各タイプに対応する定数が含まれています。ルールのタイプは、Firefoxアドオンから読み込んだときにCSSRuleが空白になるのはなぜですか?
someRule.type == CSSRule.STYLE_RULE
などの文でテストできます。SDKを使用してFirefoxアドオンをビルドします。このアドオンのコンテンツスクリプトファイルから読み取った場合、CSSRule
は存在しますが、空です。
console.log("CSSRule is " + CSSRule);
for(var key in CSSRule) {
console.log('key: ' + key + '\n' + 'value: ' + CSSRule[key]);
}
console.log("CSSRule.STYLE_RULE is " + CSSRule.STYLE_RULE);
出力
CSSRule is [object CSSRule]
CSSRule.STYLE_RULE is undefined
ページ内、またはFirefoxコンソールからscript
からそれを実行私は1
からCSSRule.STYLE_RULE
セットと、期待どおりに、出力されます。
外部コンテンツスクリプトファイルの代わりにpageMod contentScript
から実行する場合、代わりにCSSRule
は{}
です。
CSSRule
の代わりにwindow.CSSRule
を使用してページのロードが完了するまで待ってから、動作を変更しないでください。
私は、Firefox 45.0.1(現在のリリース)でこれをテストしてきたし、今日の毎晩(48.01a 2016年4月10日)、OS X上
なぜCSSRule
空のですか?手動で正しい値に設定する以外に、これらの定数にどのようにアクセスできますか?
どのFFバージョンですか?あなたは夜間に試しましたか? – the8472
@ the8472 45.0.1、夜間の同じ動作。質問を編集しました。 – Leopold
が機能する場合は、拡張機能から直接ではなくページ上のスクリプトとしてコードを実行してください。 – dandavis