Hallo, Peter!
1.) document.all kann nur der IE?
...und der Opera, aber der hat ein natives XMLHttpRequest-Objekt, welches dem IE6 fehlt; alternativ kann man noch auf !window.opera prüfen, dann sind aber neuere IE-Versionen auch mit im Boot.
2.) Wieso nicht navigator.appVersion o.ä.?
Weil diese Angabe nicht immer zuverlässig ist.
3.) Kann ichs nicht einfacher machen, indem ich einfach dem *body* Element die von dir genannte style Eigenschaft zuweise? (...)
Kannst Du schon, aber dann bezieht sich die Angabe nicht ausschließlich aufs Drucken, sondern auf die gesamte Darstellung
4.) Wieso erstellst du dynamisch einen div? In diesem div sollte ja eigentlich der Inhalt der Seite (siehe (2)) stehen - oder?
Ich verwende das div, um den eigentlichen Style-Tag so zu erstellen, dass es im Notfall auch browserübergreifend funktionieren würde. Erstens ignorieren viele Browser wahlweise die innerHTML- oder innerText-Eigenschaft eines style-Elements. Der IE6 hat zusätzlich leider die nervige Angewohnheit, das Style-Tag im innerHTML nur dann überhaupt zu erstellen, wenn vorher ein block-Element (bspw. ein div) mit Inhalt im HTML-Code steht, daher dieses scheinbar komplizierte Konstrukt.
» dass Du nicht im Quirks-Mode bist (ansonsten bitte document.body.clientWidth verwenden und zum Schämen in die Ecke stellen).
Ja, ich schäme mich mal. In die Ecke stell' ich mich aber erst wenn du mir sagst was das Problem ist, wenn ich in meinem Fall (=Daten die definitiv nur im IE Control angezeigt werden) den Quirks Modus verwende.
Der Quirks-Mode bringt hauptsächlich Formatierungsprobleme (falsches Box-Modell) mit sich, aber auch JS-Probleme, da dann bestimmte Eigenschaften an einer veralteten Stelle stehen. Heutzutage sollte man den Quirks-Mode überhaupt nicht mehr nutzen, es sei denn, man hat einen konkreten Vorteil davon.
Ich möchte dass die Anwendung so gut wie möglich abwärtskompatibel ist - also wenns geht auch noch unter IE4 darstellt.
Wie ich bereits in einem früheren Posting gesagt habe: wer einen IE4 in freier Wildbahn antrifft, sollte ihn für ein Kuriositätenkabinett einfangen. Wer so weit geht, einen derartigen Browser noch ernsthaft benutzen zu wollen, bekommt den Internetzugang vermutlich auch über Brieftaube oder Rauchzeichen.
Aber XML Deklaration brauch ich doch nur wenn ich XHTML verwende?! Das versteh' ich jetzt eigentlich nichts ganz.
Nur wenn Du striktes XHTML produzieren willst; transitional ist auch ohne xml-Deklaration valide.
Meine Frage bleibt aber: Was ist für meinen Fall am besten? Eine DTD verwenden? Wenn ja, welche?
<!doctype html>
Fertig.
Gruß, LX
RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.