Heim  >  Artikel  >  Web-Frontend  >  Warum kann ich aus lokalen Dateien nicht auf CSS-Regeln in Chrome 64 zugreifen?

Warum kann ich aus lokalen Dateien nicht auf CSS-Regeln in Chrome 64 zugreifen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-03 06:48:30861Durchsuche

Why Can't I Access CSS Rules in Chrome 64 from Local Files?

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:

  • Verwenden Sie einen lokalen Entwicklungsserver: Dies bietet eine kontrollierte Umgebung, in der CORS-Richtlinien gelockert werden.
  • Dateien online oder auf localhost hosten: Durch die Verwendung eines Webservers wird das CORS-Problem beseitigt.
  • Andere Browser verwenden: Browser wie Firefox, Edge und Internet Explorer ermöglicht den CSSOM-Zugriff aus lokalen Dateien.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn