Récemment, les développeurs Web ont rencontré un problème empêchant l'accès aux règles CSS à partir d'un fichier CSS local dans Chrome version 64. Ce problème peut être attribué aux modifications de sécurité mises en œuvre dans le navigateur.
Dans le passé, Chrome permettait aux développeurs d'accéder aux règles CSS à partir de fichiers locaux. Cependant, avec la version 64, cette fonctionnalité a été restreinte. Lorsqu'ils tentent d'accéder à la propriété cssRules d'une feuille de style, les développeurs rencontrent une réponse non définie ou une erreur.
<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>
Pour résoudre ce problème, les développeurs ont identifié plusieurs solutions de contournement :
La cause première de ce problème réside dans une modification des règles de sécurité de Chrome. Chrome adhère désormais à la politique de partage de ressources cross-origine (CORS), qui restreint l'accès aux ressources d'origines différentes. Étant donné que les fichiers locaux ont une origine différente de celle du fichier HTML, l'accès aux règles CSS à partir de ces fichiers viole la politique CORS.
Bien que la mise en œuvre de la politique CORS dans Chrome améliore la sécurité, elle a également créé des problèmes ouverts :
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!