Création d'un Tag avec JavaScript : une solution complète</h2> <p>Dans cet article, nous explorerons différentes approches pour insérer un <style> balisez dans une page HTML à l’aide de JavaScript. En cours de route, nous aborderons les problèmes de compatibilité et suggérerons des solutions plus élégantes.</p> <h3>Tentative avec divNode.innerHTML</h3> <p>Comme indiqué dans la question, créer un <style> la balise via divNode.innerHTML est problématique. Bien qu'il fonctionne dans certains navigateurs, il reste incompatible avec Chrome et introduit des balises inutiles.</p> <h3>Une solution raffinée</h3> <p>Pour améliorer l'approche existante, vous pouvez ajouter l'option <style> élément vers l'en-tête du document plutôt que vers le corps :</p> <pre>var css = "h1 { background: red; }"; var head = document.head || document.getElementsByTagName("head")[0]; var style = document.createElement("style"); head.appendChild(style); style.type = "text/css"; if (style.styleSheet) { style.styleSheet.cssText = css; // IE8 and below } else { style.appendChild(document.createTextNode(css)); }</pre> <p>Cette approche a été testée dans IE 7-9, Firefox, Opera et Chrome, garantissant la compatibilité entre navigateurs.</p> <h3>Approches alternatives</h3> <p><strong>Évitez les méthodes non standard :</strong> Insérer <style> Les balises via divNode.innerHTML ne sont pas considérées comme une pratique standard et doivent être évitées.</p> <p><strong>Limitation de la prise en charge des navigateurs :</strong> S'appuyer uniquement sur les navigateurs prenant en charge divNode.innerHTML peut ne pas être réalisable pour des applications de grande envergure. .</p> <h3>Conclusion</h3> <p>En incorporant la solution raffinée ou en reconnaissant les limites d'approches alternatives, vous pouvez efficacement créer <style> balises avec JavaScript, garantissant la compatibilité entre les principaux navigateurs et maintenant un code propre et maintenable.</p>