Maison  >  Article  >  interface Web  >  Pourquoi ne puis-je pas accéder aux règles CSS dans Chrome 64 à partir de fichiers locaux ?

Pourquoi ne puis-je pas accéder aux règles CSS dans Chrome 64 à partir de fichiers locaux ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-03 06:48:30863parcourir

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

Accès au modèle d'objet CSS restreint dans Chrome 64

L'accès aux règles CSS à partir de feuilles de style chargées localement est devenu problématique dans Chrome 64. Pour comprendre ce problème, Considérez l'extrait de code suivant :

<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>

À partir de Chrome 64, l'accès à cssRules entraîne une erreur, même si document.styleSheets[0] renvoie l'objet feuille de style.

Cause :

Cela est dû à un changement dans les règles de sécurité pour les feuilles de style, appliquées dans Chrome 64. Plus précisément, l'accès au modèle d'objet CSS (CSSOM) à partir de fichiers locaux viole un partage de ressources d'origine croisée (CORS).

Solutions :

  • Utiliser un serveur de développement local : Cela fournit un environnement contrôlé dans lequel les politiques CORS sont assouplies.
  • Hébergez des fichiers en ligne ou sur localhost : L'utilisation d'un serveur Web élimine le problème CORS.
  • Utilisez d'autres navigateurs : Navigateurs tels que Firefox, Edge et Internet Explorer autorise l'accès CSSOM à partir de fichiers locaux.

Impact et solutions de contournement :

Ce changement affecte les développeurs qui testent la fonctionnalité CSS à partir du système de fichiers local. Des solutions de contournement telles que l'utilisation de fichiers en ligne/localhost ou d'autres navigateurs fournissent des solutions temporaires.

Débat et questions ouvertes :

Bien qu'il s'agisse d'un correctif de sécurité, des discussions et des débats sont en cours autour de ce changement. Certains affirment que l’absence d’un autre moyen de détecter les problèmes d’accessibilité est gênante. D'autres s'interrogent sur l'étendue de sa mise en œuvre dans d'autres navigateurs. Comme la spécification du W3C est encore en développement, il reste à voir comment ce problème évoluera.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn