CSS per JavaScript nachladen im IE
Sarah K.
- javascript
Hi,
ich möchte in meiner Webanwendung CSS per JavaScript nachladen, damit es erst geladen werden muss, wenn es wirlich benötigt wird. Das CSS ist für einen Layer, der auch mit JavaScript initialisiert wird und dessen HTML ebenfalls nachgeladen wird. Im FF, Op, Safari funktioniert auch alles super, der IE6 lädt das CSS zwar auch nach (man sieht es hinterher im head), aber er benutzt es nicht. Wenn ich mit dem Script Debugger von Microsoft durch meinen Code debugge, dann funktioniert alles im IE, nur wenn ich nicht debugge, dann klappt es nicht. Daraufhin habe ich schon probiert das CSS mit einem Timeout nachzuladen, damit es später dargestellt wird, allerdings hat auch das nichts bewirkt. Ich habe auch das href vom link Element noch einmal neu gesetzt oder variable Parameter an den CSS Pfad angehängt (damit es nicht gecacht wird), aber auch das hat zu nix geführt. Jetzt gehen mir so langsam die Ideen aus. Hat jemand welche?
Danke,
Sarah
Hier ist der Code:
var cssPath = "http://testpfad.de/test.css";
var cssElement;
if (document.createStyleSheet) { // for IE
cssElement = document.createStyleSheet(cssPath);
} else {
cssElement = document.createElement("link");
cssElement.setAttribute("type", "text/css");
cssElement.setAttribute("href", cssPath);
// ...
document.getElementsByTagName("head")[0].appendChild(cssElement);
}
// Hier wird das HTML in die Seite integriert, welches das CSS benutzt
Warum die Sonderlösung für den IE? Die Standardlösung scheint dort recht gut zu funktionieren...
Gruß, LX
Hi,
Hat jemand welche?
Die einzige Idee wäre noch, das TYPE-Attribut auch im IE zu setzen!
Ansonsten gilt aber LX' Vorschlag: Nimm den Standardweg für alle Browser auch beim IE. Der IE braucht seine Variante höchstens für Version 4.x, oder aber, wenn man mit JS sofort auf das Stylesheet zugreifen möchte.
Gruß, Cybaer