• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Druckaufbereitung aus JS

Germike

New member
Hallo Alle,

meine Webseiten werden von ColdFusion oder Perl dynamisch aufgebaut und haben allerlei grafischen Schnickschnack, der stört, wenn sich ein Benutzer nur das Wesentliche ausdrucken will.

Dieses "Wesentliche" (was immer es sei) wird von mir im HTML-Quelltext gekennzeichnet durch

<!-- Beginn Wesentliches -->

davor bzw.

<!-- Ende Wesentliches -->

danach.

Ich wünsche mir ein Javascript, das mittels eines Links
"Druckerfreundliche Version anzeigen", der auf jeder Seite angeboten werden soll,...

1) den HTML-Code ausliest, in dem es selbst sitzt,

2) alles vor bzw. nach den oben genannten Kommentaren wegwirft, und..

3) den Rest in einem neuen Fenster ausgibt, das möglichst nur über die Möglichkeiten "Drucken" und "Schließen" verfügt.

Hat jemand eine Idee oder sowas gar schon fertig in der Schublade? Danke im Voraus!!
 
hi,

hmm in der Regel geht das nicht,denn alles was sich auf der seite befindet wird gedruckt.
Du kannst folgendes machen:
der Text der gedruckt werden soll,kannst du dynamisch generieren lassen,diesen Text läst du dann in ein neues Fenster schreiben und kannst es dannn ausdrucken.Das wäre wohl die einzigste Lösung die ich kenne.


cioa,
Klaus...
 
Heureka.

Hi alle,

hab' inzwischen selbst eine Lösung gefunden, die ich hier gerne zur Diskussion stellen möchte.

Schritt 1: Ein Javascript- (.JS)- Datei schreiben mit folgendem Inhalt:

function printable(txt) {

wnd = open("about:blank","Fenster1","width=610,height=400");
var reg = /(.+)<!-- begin of content -->(.+)<!-- end of content -->/gi;
reg.exec(txt);
var html = '<HTML><HEAD><TITLE>Druckoptimierte Darstellung</TITLE></HEAD><BODY>'
+ '<form action="javascript:print();this.close();">'
+ '<input type="submit" value="Drucken und schliessen">'
+ '</form></a>'
+ RegExp.$2
+ '</BODY></HTML>';
wnd.document.write( html );

}

Schritt 2: Eine HTML-(Test-)Seite erstellen, die das zu druckende klammert zwischen <!-- begin of content --> und <!-- end of content -->, und die ausserdem einen Link zum Ausdrucken enthält:

<script language="JavaScript" src="/cgi-bin/lib/printable.js"></script>
<a href="javascript:printable(this.document.body.innerHTML)">Diese Seite ausdrucken</a>

Nachteil leider: Funktioniert nicht mit Netscape, der die Objekteigenschaft "innerHTML" nicht kennt (aber es gibt Mittel und Wege, dies in Netscape zu emulieren, daher nicht so schlimm).

Danke für alle Tips und Anregungen!
 
Zurück
Oben