Hallo zusammen,
ich habe ein kleines Problem, dass mich langsam aber sicher in den Wahnsinn treibt...vielleicht steckt irgendwo nur ein winziger Fehler, vor dem ich schon seit Stunden wie blind sitze und ihn nicht entdecke. Bei Google habe ich mir schon blutige Finger getippt und hier bei SelfHTML die Augen viereckig gelesen - aber leider nichts hilfreiches gefunden!
Ich geb' zu, dass ich von Javascript wirklich nicht sooooooooo viel Ahnung habe, aber bisher hat's immer gereicht! Aber bei dem Problem hier is' leider Ende!
Und zwar frage ich mittels Javascript die Viewport-Breite des Besuchers ab, um ein passendes Stylesheet zu laden. Das mache ich mit folgendem Script von quirksmode.org in einer externen .js-Datei:
var x;
if (self.innerWidth) // all except Explorer
{
x = self.innerWidth;
}
else if (document.documentElement.clientWidth)
// Explorer 6 Strict Mode
{
x = document.documentElement.clientWidth;
}
else if (document.body) // other Explorers
{
x = document.body.clientWidth;
}
In der HTML-Datei benutze ich dann folgenden Script:
<script type="text/javascript">
if (x <= 123)
document.write('<link rel="stylesheet" type="text/css" href="stylesheet1.css">');
else
document.write('<link rel="stylesheet" type="text/css" href="stylesheet2.css">');
</script>
Das ganze funktioniert auch soweit mit allen Brwosern - nur der Internet Explorer mag nicht so wie ich!
Der IE akzeptiert den Script nur, wenn ich die Abfrage-Schleife 2x laufen lasse und nach jedem Durchlauf x mit document.write (x); ausgeben lasse. Nach nur einem Durchlauf oder ohne die Ausgabe mittels document.write (x); bleibt x im Internet Explorer 'undefined'. Außerdem zerreißt mir document.write (x); das Layout!
Ich wäre absolut dankbar für jeden noch so kleinen Tipp!
Liebe Grüße...julchen