Zugriff auf CSS-Objektmodelle in Chrome 64 eingeschränkt
Der Zugriff auf CSS-Regeln aus lokal geladenen Stylesheets wurde in Chrome 64 problematisch. Um dieses Problem zu verstehen, Betrachten Sie den folgenden Codeausschnitt:
<code class="html"><head> <link rel='stylesheet' href='myStyle.css'> <script> window.onload = function() { try { alert(document.styleSheets[0]); // works alert(document.styleSheets[0].cssRules); // doesn't even print undefined } catch (e) { alert(e); } // catch and alert the error } </script> </head></code>
Ab Chrome 64 führt der Zugriff auf cssRules zu einem Fehler, obwohl document.styleSheets[0] das Stylesheet-Objekt zurückgibt.
Ursache :
Dies ist auf eine Änderung der Sicherheitsregeln für Stylesheets zurückzuführen, die in Chrome 64 erzwungen werden. Insbesondere verstößt der Zugriff auf das CSS Object Model (CSSOM) aus lokalen Dateien gegen ein Cross-Origin Resource Sharing (CORS). Richtlinie.
Lösungen:
Auswirkungen und Problemumgehungen:
Diese Änderung wirkt sich auf Entwickler aus, die CSS-Funktionalität aus dem lokalen Dateisystem testen. Problemumgehungen wie die Verwendung von Online-/Localhost-Dateien oder anderen Browsern bieten vorübergehende Lösungen.
Debatte und offene Fragen:
Obwohl es sich um einen Sicherheitsupdate handelt, gibt es laufende Diskussionen und Debatten diese Änderung. Einige argumentieren, dass das Fehlen einer alternativen Möglichkeit zur Erkennung von Barrierefreiheitsproblemen unbequem sei. Andere bezweifeln den Umfang der Implementierung in anderen Browsern. Da sich die W3C-Spezifikation noch in der Entwicklung befindet, bleibt abzuwarten, wie sich dieses Problem entwickeln wird.
Das obige ist der detaillierte Inhalt vonWarum kann ich aus lokalen Dateien nicht auf CSS-Regeln in Chrome 64 zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!