HuiBu: Aus 1ten Frame, 2ten Frame drucken

Hallo!

Ich möchte aus dem 1ten Frame, das 2te Frame drucken. Insgesamt gibt es 2 Frames, oben und unten.

Folgendes habe ich probiert:
<a href="#" onclick="top.print();return false"
oder
<a href="#" onclick="parent.frame2.print();return false"
oder
<a href="#" onclick="frame2.print();return false"

Gedruckt wird aber immer das erste Frame, wie kann ich das denn hinbekommen, dass das 2te gedruckt wird?

Gruß
HuiBu

  1. Moin,

    Gedruckt wird aber immer das erste Frame, wie kann ich das denn hinbekommen, dass das 2te gedruckt wird?

    parent.frames['frame2'].print();

    oder

    parent.frames[2].print()
    (wenn der zu druckende Frame wirklich der zweite auf der Seite ist).

    fiele mir noch ein, aber keine Ahnung, obs damit geht.

    Grüße,
    Jörg

  2. Hallo,

    Folgendes habe ich probiert:
    <a href="#" onclick="top.print();return false"
    oder
    <a href="#" onclick="parent.frame2.print();return false"
    oder
    <a href="#" onclick="frame2.print();return false"

    dann machst du vermutlich noch etwas anderes falsch. Denn die zweite Variante ist eigentlich korrekt, vorausgesetzt, der Zielframe hat wirklich den Namen "frame2".

    Mit dem ersten Aufruf würdest du theoretisch das Frameset selbst drucken; inwiefern das von den gängigen Browsern unterstützt wird, ist fraglich. Das Frameset selbst hat ja schließlich kein document-Objekt, also dürfte es eigentlich auch keine print()-Methode haben. Oder gilt dann der noframes-Abschnitt als document...?
    Der dritte Aufruf ist übrigens auch Käse, denn damit würdest du die Methode print() eines Objekts namens "frame2" im aktuellen Frame aufrufen. Das ergibt keinen Sinn.

    Dass man die Existenz der print()-Methode vorher abfragen sollte, um eventuelle Scriptfehler zu vermeiden, ist eine andere Sache.

    So long,
     Martin

    --
    Lieber blau machen, als sich schwarz ärgern.
  3. Erst den Focus auf frame 2 setzen dann drucken.
    Könnte so aussehen:
    top.frame2.focus();
    top.frame2.print();