Dynamisches CSS-Laden schlägt im IE fehl: Eine Lösung
Um die Ästhetik von Webseiten zu verbessern, ist es oft notwendig, CSS dynamisch zu laden Stylesheets. Während diese Technik in gängigen Browsern wie Firefox und Google Chrome reibungslos funktioniert, stößt sie im Internet Explorer (IE) auf ein Hindernis.
Mit jQuery lässt sich ein dynamisches CSS-Laden häufig wie folgt erreichen:
var head = document.getElementsByTagName('head')[0]; $(document.createElement('link')) .attr({ type: 'text/css', href: '../../mz/mz.css', rel: 'stylesheet' }) .appendTo(head);
Der IE stellt jedoch eine einzigartige Herausforderung dar, da diese Methode in diesem Browser nicht die gewünschten Ergebnisse liefert.
Um diese Hürde zu überwinden, ist es unerlässlich einen browserspezifischen Ansatz verfolgen. Wenn IE auf eine Situation stößt, in der alle mit der Seite geladenen Stile verarbeitet wurden, besteht die einzige zuverlässige Lösung zum Hinzufügen zusätzlicher Stylesheets darin, die Methode document.createStyleSheet(url) zu verwenden.
Eine effektive browserübergreifende Implementierung kann sein Dies wird durch die Verwendung des folgenden Codes erreicht:
url = 'style.css'; if (document.createStyleSheet) { document.createStyleSheet(url); } else { $('<link rel="stylesheet" type="text/css" href="' + url + '" />').appendTo('head'); }
Durch die Berücksichtigung des einzigartigen Verhaltens des IE durch die Methode document.createStyleSheet wird dies möglich Laden Sie CSS-Stylesheets dynamisch in allen gängigen Browsern und sorgen Sie so für konsistente visuelle Verbesserungen auf verschiedenen Plattformen.
Das obige ist der detaillierte Inhalt vonWarum schlägt das dynamische Laden von CSS im IE fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!