Anderen Frameinhalt drucken
Sie haben das schon erlebt: Eine Webseite erscheint interessant und sie möchten einen Ausdruck. Über Menü: Datei - Drucken wird aber der falsche Ausschnitt der Webseite ausgedruckt. Das kann geschehen, wenn es sich bei der angezeigten Seite um einen Frameset handelt.
Eine andere leidliche Erscheinung ist ein Druckergebnis, das die gesamte Webseite oder sogar die Webseite in Bruchstücken über mehrere Seiten inclusive Menü und Titel zeigt. Für eine Webseite die mit Frames aufgebaut ist, sollte doch eine bessere Alternative möglich sein! Sie möchten ausschließlich den Inhaltsframe ausdrucken.
Über die Druckoption des Browsermenüs ist das nicht immer steuerbar, wenn es sich um einen Frameset handelt. Zum Ausdruck kommt möglicherweise lediglich der Frame, der zuletzt den Fokus hatte.
Das könnte durch einen Mausklick innerhalb der Seite oder durch eine JavaScript-Anweisung geschehen sein, z.B. mit onLoad="focus()".
Beispiel mit 3 Frames:
Hätten sie im Beispiel rechts zuletzt auf einen Link in der Navigation (nav) geklickt, hätte normalerweise dieser Frame den Fokus.
Wäre der Browser so voreingestellt, das beim Befehl 'Datei drucken' der fokussierte Frame gedruckt wird, resultiert das in einen Audruck des Menüs, obwohl sie doch eigentlich den Inhalt des Anzeigeframes (anzeige) drucken wollten. |
|

|
Funktion
Sie können mit dem Script (in diesem Beispiel mit dem Eintrag 'anzeige'):
- aus dem Frame "nav" oder aus dem Frame 'oben' heraus den Druckvorgang für Frame 'anzeige' per Script einleiten
- ebenfalls aus dem Frame "anzeige' heraus den Druckvorgang für Frame 'anzeige' per Script einleiten
Sie können mit diesem Script gundsätzlich von überall her den Ausdruck der Datei in Frame Anzeige einleiten. Der Link könnte also, mit einem entsprechenden Hinweis versehen, permanent in der Navigation angezeigt werden.
Das JavaScript mit der Funktion 'DruckAnzeige()' im Head-Bereich.
<script type="text/javascript" language="JavaScript">
<!-- Begin
function DruckAnzeige() {
window.parent.anzeige.focus();
window.print();
}
// End -->
</script>
(zur Anpassung tragen sie für 'anzeige' ihren Framenamen ein)
- der Focus wird auf den Frame 'anzeige' gesetzt
- dann wird der Druckvorgang eingeleitet
im Beispiel
zu 1) Button
<form>
<input type="button" value="Frame2 drucken" onClick="DruckAnzeige()">
</form>
zu 2) Textlink
<a href="javascript:DruckAnzeige()">Frame rechts drucken</a>
zu 3) Image-Link
<a href="javascript:DruckAnzeige()">
<img src="print.gif" width="20" height="16" border="0" alt="">
</a>

|