printbefehl an bestimmtes frame...

redback79

Erfahrenes Mitglied
mein problem ist folgendes. (abgesehen davon, dass ich mich was javascript angeht überhaupt nicht auskenne :)

einem button habe ich folgende funktion zugewiesen

Code:
onClick="window.print()"

wie bringe ich meinem button aber jetzt bei, dass er ein bestimmtes frame und nicht das parent_frame in dem er sich befindet ausdruckt?


THX

mfg redback
 
Wie du siehst, ist print() eine Methode des window-Objektes, welches im Prinzip das höchstexistierende Objekt seitens JavaScript in einem Fenster darstellt.

Diese Methode erwartet kein zu übergebendes Argument und von daher kannst du also davon ausgehen, dass der Frame gedruckt wird, aus dem du die Methode aufrufst.

Willst du einen anderen Frame als den derzeitigen referenzieren, dann musst du mit den Bezeichnern parent und top arbeiten, wobei parent den übergeordneten Frame des refrenzierenden Frames ansteuert und top auf das generell hierarchisch höchstgelegene window-Objekt des Browserfensters zugreift.

Ein Auszug aus SelfHTML dazu:

http://selfhtml.teamone.de/javascript/objekte/frames.htm#allgemeines

hth,
Geist
 
vielen dank erst mal

wenn ich das also richtig verstehe, so müsste die syntax wie folgt lauten:

Code:
onClick="parent.frame[xyz].print()"

oder

Code:
onClick="parent.hauptframe.print()"


oder???

kann es im moment leider nicht testen... :-(

vergieb mir meine unwissenheit meister *gg*
 
Zweiteres sollte in einem zweigeteiltem Frameset hinhauen, bei ersterem wäre vielleicht zu sagen, dass es kein frame-Objekt gibt, sondern nur ein frames-Objekt, über welches du per Index darin befindliche Objekte referenzieren kannst.

Bei Problem einfach nochmal eine kurze Wortmeldung mit der Problembeschreibung. :)

hth,
Geist
 
leider kann ich noch immer nicht nur das gewünschte frame ausdrucken... :-( ...es wird nach wie vor das parent-frame gedruckt...

ich habe mich für variante 1 entschieden (da variante 2 nicht funktioniert hat...)


der gesamte code für den "drucken-link" lautet wie folgt:

Code:
<a><img src="bilder/print.gif" alt="Seite drucken" onClick="parent.frames[3].print()"></a>


woran kann das liegen?


THX redback :)
 
du musst den fokus erst an den zu druckenden frame abgeben:

Code:
<a href="javascript: parent.frames[ (_FRAMENUMMER_ || '_FRAMENAME_') ].focus(); parent.frames[(_FRAMENUMMER_ || '_FRAMENAME_')].print();">
<img src="./bilder/print.gif" alt="Seite drucken">
</a>

_FRAMENAME_ : Der in name="" angegebene Name
_FRAMENUMMER_ : Die Position des Frames im Frameset, beginnend bei Null

(|| = oder)

NOOBMODE ON
Code:
<frameset>
<frame name="ersterFrame">
<frame name="druckFrame">
<frame name="dritterFrame">
</frameset>

==>>

parent.frames[1].focus();
parent.frames['druckFrame'].focus();
NOOBMODE OFF

hope that helps, lexi.
 

Neue Beiträge

Zurück