Kürzlich sind Webentwickler auf ein Problem gestoßen, bei dem der Zugriff auf CSS-Regeln aus einer lokalen CSS-Datei nicht möglich ist Chrome-Version 64. Dieses Problem kann auf im Browser implementierte Sicherheitsänderungen zurückgeführt werden.
In der Vergangenheit ermöglichte Chrome Entwicklern den Zugriff auf CSS-Regeln aus lokalen Dateien. Mit Version 64 wurde diese Funktionalität jedoch eingeschränkt. Beim Versuch, auf die cssRules-Eigenschaft eines Stylesheets zuzugreifen, stoßen Entwickler auf eine undefinierte Antwort oder einen Fehler.
<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>
Um dieses Problem zu beheben, haben Entwickler mehrere Problemumgehungen identifiziert:
Die Hauptursache für dieses Problem liegt in einer Änderung der Sicherheitsregeln von Chrome. Chrome hält sich jetzt an die CORS-Richtlinie (Cross-Origin Resource Sharing), die den Zugriff auf Ressourcen unterschiedlicher Herkunft einschränkt. Da lokale Dateien einen anderen Ursprung haben als die HTML-Datei, verstößt der Zugriff auf CSS-Regeln aus diesen Dateien gegen die CORS-Richtlinie.
Während die Implementierung der CORS-Richtlinie in Chrome die Sicherheit verbessert, erhöht sie die Sicherheit hat auch einige offene Probleme verursacht:
Das obige ist der detaillierte Inhalt vonWarum kann ich in Chrome 64 nicht über eine lokale Datei auf CSS-Regeln zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!