最近、ウェブ開発者は、Chrome 64 でローカル CSS ファイルから CSS ルールにアクセスできないという問題に遭遇しました。 Chrome バージョン 64。この問題は、ブラウザに実装されたセキュリティの変更が原因である可能性があります。
以前、Chrome では開発者がローカル ファイルから CSS ルールにアクセスできました。ただし、バージョン 64 では、この機能は制限されています。スタイルシートの cssRules プロパティにアクセスしようとすると、開発者は未定義の応答またはエラーに遭遇します。
<code class="html"><script> window.onload = function() { try { alert(document.styleSheets[0]); // works alert(document.styleSheets[0].cssRules); // undefined } catch (e) { alert(e); // error } } </script> <link rel='stylesheet' href='myStyle.css'> <!-- myStyle.css --> body { background-color: green; }</code>
この問題に対処するために、開発者はいくつかの回避策を特定しました。
この問題の根本原因は、Chrome のセキュリティ ルールの変更にあります。 Chrome は現在、異なるオリジンからのリソースへのアクセスを制限する Cross-Origin Resource Sharing (CORS) ポリシーに準拠しています。ローカル ファイルは HTML ファイルとは生成元が異なるため、これらのファイルから CSS ルールにアクセスすると CORS ポリシーに違反します。
Chrome に CORS ポリシーを実装するとセキュリティが向上しますが、また、いくつかの未解決の問題も発生しています:
以上がChrome 64 でローカル ファイルから CSS ルールにアクセスできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。