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