1

数日前、Web ページで cssRules データを取得する際の問題に直面しました。

document.styleSheets[i].cssRules

同じドメイン スタイル シート パスを持つスタイル タグとリンク タグに対してのみ機能します。

そのため、異なるドメインのスタイル シートを使用すると、これらのルールにアクセスするのがかなり難しくなります。

または、ローカル ファイル システムから html ページを参照すると、ローカル ファイル システムのスタイル シートや Web 上のスタイル シートからでもルールにアクセスできません。つまり、ローカルの fs html ページからスタイルシートのルールを取得することは不可能です。

また、データ URL を使用するとルールを取得できません。たとえば、次のようになります。

<link rel="stylesheet" href="data:text/css;base64,Kntjb2xvcjpyZWQ7fQ==">

なぜこのような不公平な行動が現れるのかはわかりませんが、いつかこれらの制限の本当の理由に気付くことを願っています.

ブラウザ自体が問題なくアクセスしてレンダリングするときにcssルールへのjsアクセスを禁止する理由がよくわからないため(クロスドメイン、ローカルファイルシステムなど)

とにかくこれらのルールにアクセスする方法について何か提案はありますか?

私の場合、すべての Web サイトで動作する js 拡張機能を作成します (そのため、必要な css を自分のドメインに単純に移動することはできません)。

4

0 に答える 0