[XHTML] Link zum Drucken?

T

Tankred

Gast
Hallo!

Es gibt ja die Anweisung

Code:
onClick="window.print()"

um den Druckdialog des Browsers aufzurufen.

Ich habe drei Fragen hierzu:

1. Gibt es auch einen Befehl, um die Druckvorschau des Browsers aufzurufen?
2. Die Anweisung ist nicht XHTML-konform, gibt es dazu etwas ähnliches in XHTML?
3. Ich nutze den Link, um dem User das Drucken nach Lesen des Artikels zu ermöglichen. Alle unnötigen Elemente wie Navigation, Header usw. werden automatisch per CSS ausgeblendet. Haltet ihr so einen Link für sinnvoll oder eher nicht? Wenn nicht, wie würdet ihr das machen?

Vielen Dank,

Tankred
 
Du kannst doch einfach ein Popup öffnen mit dem selben Link der aktuellen Datei.
In dem Popup lädst du dann das Drucker Style Sheet.

Und da machst du dann noch ein zusätzlichen Link in dem du das window.print() schreibst.

Grüße

tewes
 
>> 1. Gibt es auch einen Befehl, um die Druckvorschau des Browsers aufzurufen?

Zumindest mir ist keiner bekannt.

>> 2. Die Anweisung ist nicht XHTML-konform, gibt es dazu etwas ähnliches in XHTML?

Wie kommst du darauf? Event-Handler-Attribute wie onclick oder onmousedown sind sowohl HTML- als auch XHTML-konform.

>> 3. Haltet ihr so einen Link für sinnvoll oder eher nicht? Wenn nicht, wie würdet ihr das machen?

Ich persönlich benutze eigentlich für alle Aufgabe, für die der Browser bereits die entsprechenden Funktionen mitliefert, keine JavaScript-Lösungen, sondern eben den Browser selbst, d.h. für's Drucken, vor- und rückswärts in der History usw. Ich finde die Lösung von Wikipedia ganz interessant. Wenn man auf Druckversion klickt öffnet sich einfach die Seite mit Druckstylesheet. Wenn du's genauso machen würdest, dann bräuchtest du auch die Druckvorschau-Funktion nicht, da das ja im Prinzip die Vorschau ist und zum Ausdrucken kann jeder auf dem Button im Browser klicken.
 
Mir hat der W3C-Validator folgendes bemängelt:

Code:
Validation Output:  1 Error

   1. Error Line 34, Column 54: there is no attribute "onClick".

Doctype ist XHTML 1.0 Transitional und Encoding utf-8.

Komplett lautet die Zeile:

Code:
<p class="info">Dezember 2007 | <a href="#" onClick="window.print()">Text drucken</a></p>
 
Zuletzt bearbeitet:
There is no attribute "onClick", but there is the attribute "onclick". ;)

Es gibt in XHTML aucht nicht das Element META, sondern nur das Element meta.
In XHTML wird alles klein geschrieben. Sachen wie <DiV sTylE="color: green">HaLLu</dIV> sind in HTML auch valid, in XHTML aber nicht mehr.
 
Pff, gibts ja gar nicht... jetzt schreibe ich einmal was groß und schon isses nich recht. :D

Prima, vielen Dank, jetzt is alles valide!

Nachdem das CSS valide ist und alles den Test auf Barrierefreiheit bestanden hat, war ich ganz schön genervt, als onClick den Fehler ausgeworfen hat. Aber nun passt es ja wieder. :)

Noch eine Frage zu dem Print-Style-Popup-Fenster: an sich ist das ja eine nette Sache, nur wie generiert man das Popup-Fenster, wenn man erstens keine dynamischen Seiten hat (und auch nicht verwenden will), zweitens kein JS einsetzen möchte und drittens nicht für jede "normale" Seite noch eine zweite mit Print-Style-Sheet ergänzen möchte?

Keiner?
 
Zuletzt bearbeitet:
Ich löse so etwas meistens nicht über ein separates Druck-Popup, sondern über ein spezielles Stylesheet. Du kannst ja eine CSS-Datei für die Bildschirmausgabe und eine für die Druckausgabe verlinken:
Code:
<link rel="stylesheet" type="text/css" media="screen" href="styles.screen.css" />
<link rel="stylesheet" type="text/css" media="print" href="styles.print.css" />
So kannst Du die Elemente in Deinem HTML-Dokument je nach Ausgabemedium unterschiedlich formatieren und brauchst dazu weder dynamische Seiten noch JavaScript.
 
Naja, so mache ich das ja schon. Ich finde so 'nen Popup aber recht praktisch, denn da sieht der User automatisch, was er gleich ausdrucken wird.
 
Zurück
Oben