Print()

Was muss ich beachten, damit der Internet Explorer keine Fehlermeldung bei der Benutzung des print()-Befehls zum Ausdrucken des Fenster-Inhalts generiert. Netscape frisst den Befehl brav, IE nicht.

Danke
ls

Hi,

Was muss ich beachten, damit der Internet
Explorer keine Fehlermeldung bei der
Benutzung des print()-Befehls zum
Ausdrucken des Fenster-Inhalts generiert.

bei allen Zugriffen auf Objekte und Methoden, die nicht zwingend(!) bekannt sind, vorher prüfen, ob das Objekt bzw. die Methode überhaupt existiert:

if (window.print) { window.print(); }

Man beachte die fehlenden Klammern bei der Methode in der if-Abfrage!

Übrigens sollten längere Objektketten auch entsprechend nach und nach geprüft werden:

if (parent.frames[1]) if (parent.frames[1].document) if (parent.frames[1].document.layers) if (parent.frames[1].document.layers[0]) if (parent.frames[1].document.layers[0].document) if (parent.frames[1].document.layers[0].document.images[2]) { parent.frames[1].document.layers[0].document.images[2].src = „x.gif“; }

(„parent“ braucht nicht geprüft zu werden, weil im Zweifel parent=self gilt. „document.layers[0].document.images“ braucht auch nicht geprüft zu werden, da ein Layer-tauglicher Browser auch das images-Objekt kennt.)

Netscape frisst den Befehl brav, IE
nicht.

Der IE 5 beherrscht window.print() glaube ich mittlerweile auch.

Cheatah
http://cheatah.net