Druckausgabe in JavaScript
Latze Bierknecht
- javascript
Salve,
momentan arbeite ich am Layout meiner Seite für die Ausgabe auf dem Drucker. Auf der Seite wird JavaScript ausgeführt, welches bei der Ausgabe auf den Drucker aber nicht ausgeführt werden soll.
Wie frage ich in JavaScript ab, ob die Seite gerade auf dem Bildschirm oder auf dem Drucker dargestellt wird?
Lieber Latze,
Layout meiner Seite für die Ausgabe auf dem Drucker. Auf der Seite wird JavaScript ausgeführt, welches bei der Ausgabe auf den Drucker aber nicht ausgeführt werden soll.
vielleicht ist ein extra Druck-Stylesheet sinnvoller...?
Liebe Grüße aus Ellwangen,
Felix Riesterer.
vielleicht ist ein extra Druck-Stylesheet sinnvoller...?
Das wäre dann auch Plan B. Aber mit einer Fallunterscheidung in JavaScript ginge es einfacher. Ich will eine gewisse Codezeile nur dann ausführen, wenn die Ausgabe auf den Bildschirm erfolgt.
Du weißt nicht, wie das geht?
hi,
vielleicht ist ein extra Druck-Stylesheet sinnvoller...?
Das wäre dann auch Plan B. Aber mit einer Fallunterscheidung in JavaScript ginge es einfacher. Ich will eine gewisse Codezeile nur dann ausführen, wenn die Ausgabe auf den Bildschirm erfolgt.
Warum?
In geschätzt > 99,9% der Fälle, wo gedruckt wird, dürfte vorher die Anzeige auf einem "Bildschirm" stattgefunden haben - dein Javascript ist also bereits ausgeführt worden.
Sollte dein Javascript dynamisch Elemente ins Dokument hineingeneriert haben, die nicht mit ausgedruckt werden sollen ... dann s.o., nutze ein Druckstylesheet.
gruß,
wahsaga
Ich habe eine Seite mit einem Hintergrundbild, welches oben und unten fett zu sehen, aber in der Mitte, da wo der Seiteninhalt sich befindet, nur blass ist. Lege ich ein Vordergrundbild in den Seiteninhalt, scheint der Hintergrund auch da durch, was ich vermeiden möchte. Deshalb setze ich ein absolut positioniertes identisches Bild von außerhalb (es ist also nicht transparent) an dieselbe Stelle und mache das vorherige transparente Bild, das nur als Platzhalter und Anker dient, unsichtbar (denn falls ich das absolute Bild nicht an die exakt selbe stelle lege, sieht man sonst doppelt).
Wenn ich das ganze ausdrucke, ist das absolut positionierte Bild nicht da, deshalb soll das transparente Platzhalterbild dann nicht unsichtbar gemacht werden.
Ich suche nur die Möglichkeit einer Fallunterscheidung in JavaScript. Ich will die bisherige Konstruktion nicht umwerfen und etwas komplett neues ausprobieren. Wenn das mit JavaScript nicht möglich ist, lege ich eben noch ein drittes Bild rein, welches nur beim Drucken dargestellt wird.
Lieber Latze,
nun schnall' es doch einfach! Javascript ist der falsche Ansatz für eine Druckausgabe! Erstelle Dir halt ein Druckstylesheet, das das Ausdrucken von Hintergrundbildern unterdrückt - fertig!
Wenn ich das ganze ausdrucke, ist das absolut positionierte Bild nicht da, deshalb soll das transparente Platzhalterbild dann nicht unsichtbar gemacht werden.
Also ist doch alles paletti! Dein Hintergrundbild wird beim Betrachten im Browser durch ein Platzhalterbild blass gemacht. Dein Druckstylesheet schaltet das Hintergrundbild für die Druckausgabe aus - und das Platzhalterbild kann den weißen Hintergrund nicht noch blasser machen. Wo ist jetzt das Problem??
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Also ist doch alles paletti! Dein Hintergrundbild wird beim Betrachten im Browser durch ein Platzhalterbild blass gemacht. Dein Druckstylesheet schaltet das Hintergrundbild für die Druckausgabe aus - und das Platzhalterbild kann den weißen Hintergrund nicht noch blasser machen. Wo ist jetzt das Problem??
Kein Problem. Ich habe jetzt ein drittes Bild reingelegt, das nur bei Druckausgabe sichtbar wird. Danke für alle Beiträge.
Das Platzhalterbild wollte ich nicht sichtbar machen, weil wenn das absolute Bild dieses nicht genau überdeckt (man muß ja mit vielem rechnen), sieht es doof aus.
Hi,
Wie frage ich in JavaScript ab, ob die Seite gerade auf dem Bildschirm oder auf dem Drucker dargestellt wird?
Für die Druckausgabe kann man ein eigenes Stylesheet einbinden. Alles, was Du dort notierst, wirkt sich also nur auf den Druck aus.
Sollte tatsächlich irgendwo JS notwendig sein, so kannst Du das Printer-Stylesheet auch mit JS ändern ...
... was dann on-the-fly bzw. interaktiv das Drucker-CSS anders sein läßt, als z.B. das Screen-CSS.
Gruß, Cybaer