"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Firefox/Safari/Opera - Möglichkeit, print-stylesheet zu ignorieren/umgehen?

nitschi 07.10.2008 - 16:46 1399 16
Posts

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
Es gibt ja hin und wieder Webseiten, die mittels folgender Methode
http://webdesign.about.com/od/advan...block_print.htm
Code:
CSS Stylesheet mit folgendem Inhalt:
body { display: none; }

und im Seiten-Quelltext dann dieses Stylesheet einbinden:
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
das Ausdrucken der gesamten Seite verhindern. Wenn man dann im jeweiligen Browser auf "Drucken..." geht, erhält man nur eine komplett leere Seite.

Gibt es eine halbwegs unkomplizierte Möglichkeit (außer der, die Seite zu speichern und/oder den Quelltext dann lokal zu ändern), dieses print.css Stylesheet client-seitig zu ignorieren bzw. zu umgehen? Eventuell mit Greasemonkey (Firefox)?

Bin dankbar für jegliche Hilfe! :)
Bearbeitet von nitschi am 08.10.2008, 12:36

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
blöde idee, aber vllt gehts: offline gehen, sodass das css nicht geladen werden kann und dann drucken.
aber ich bin mir nicht sicher, ob zum zeitpunkt des <link...> bereits das stylesheet schon geladen ist

Luzandro

OC Addicted
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
probier mal aus im Opera: View->Style->User Mode
(allerdings sollte das generell alle styles ignorieren, d.h. es müsste zwar angezeigt werden, sieht aber wohl auch nicht aus wie am bildschirm)

meepmeep

Here to stay
Avatar
Registered: Feb 2006
Location: Wien
Posts: 2337
strg + a und dann nur die markierung drucken?

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15859
hättest mal nen link zu so einer seite?

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11340
Das sollte bei Firefox/Mozilla mit userContent.css gehen (steht irgendwo im Profile, evtl. das Beispielfile umbenennen), und folgendes eintragen:

Code:
@media print { 
  body { display: block !important;}
}

Bei der Gelegenheit könnte man auch gleich die Farben druckfreundlich machen usw...

Code:
@media print { 
  body { display: block !important;
background: white !important;
color: black !important; }
}

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
@that: Danke vielmals, werd das dann gleich ausprobieren & berichten! :)

@userohnenamen: auf der oben von mir verlinkten Seite gibt’s wiederum einen Link zu einer "sample page" :) -> http://webdesign.about.com/od/examp...block_print.htm

Luzandro

OC Addicted
Avatar
Registered: Mar 2006
Location: 2482
Posts: 708
es ging wohl mehr darum, wo sowas wirklich vorkommt, zumindest würde mich das auch interessieren

wenn nur gewisse blöcke ausgeblendet werden, wie bei diesem "fancier"-bsp. in deinem link, funktioniert das halt auch nicht, allerdings wird das wohl sowieso eher bei den sinnvollen anwendungen davon verwendet, um z.B. navigationselemente nicht zu drucken (aber wer weiß, mir ist so ein "druckverbot" ja generell noch nicht untergekommen, vllt. druck ich auch einfach zuwenig webseiten aus ;) )

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Ansonsten könnte man auch zB mit'n Web Developer Plugin den html oder css content entsprechend editieren.

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
Zitat von Luzandro
es ging wohl mehr darum, wo sowas wirklich vorkommt, zumindest würde mich das auch interessieren

wenn nur gewisse blöcke ausgeblendet werden, wie bei diesem "fancier"-bsp. in deinem link, funktioniert das halt auch nicht, allerdings wird das wohl sowieso eher bei den sinnvollen anwendungen davon verwendet, um z.B. navigationselemente nicht zu drucken (aber wer weiß, mir ist so ein "druckverbot" ja generell noch nicht untergekommen, vllt. druck ich auch einfach zuwenig webseiten aus ;) )
Also, es geht um eine Seite, die mittels folgendem print-Stylesheet das Drucken der GESAMTEN Seite generell verhindern möchte.
Code:
html, body {
	display: none;
}

* {
	display: none;
}
Link folgt in Kürze. ;)

Die "normale", sinnvolle Anwendung des Elemente-Ausblendens (um Webseiten eben druckerfreundlicher zu gestalten) ist mir natürlich bekannt, in diesem Fall ist die Intention dahinter aber eine andere… :eek:

@that: das mit dem angepassten userContent.css hat grundsätzlich funktioniert (ich wusste gar nicht, dass das mit Safari auch ohne Probleme möglich ist?! Einstellungen -> Erweitert -> Stylesheet… gut zu wissen!), allerdings wurden in diesem speziellen Fall (da auch * { display: block !important } definiert werden musste) auch alle Seiten-Formatierungen des normalen Stylesheets "gelöscht".

edit:
@spikx: der Tip mit dem Web Developer Plugin war auch spitze, an das hab ich gar nicht gedacht. Damit kann man die print.css mittels einfachem Mausklick einfach deaktiveren/ignorieren. Thx!
Bearbeitet von nitschi am 08.10.2008, 09:54

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Oh, das geht sogar per einfachem Mausklick? Wo/wie? :D

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
Zitat von Spikx
Oh, das geht sogar per einfachem Mausklick? Wo/wie? :D
In der Web Developer-Toolbar (bzw. im WD-Kontextmenü) über

CSS -> Disable Styles -> Individual Stylesheets -> …

dort bekommt man dann eine Auflistung der verwendeten Stylesheets und kann diese einfach einzeln deaktivieren. :)

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Ah, hoppla. Wie konnte ich das nur übersehen. Dort gibt's sogar "Disable CSS By Media Type > Print"

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11340
Zitat von nitschi
allerdings wurden in diesem speziellen Fall (da auch * { display: block !important } definiert werden musste) auch alle Seiten-Formatierungen des normalen Stylesheets "gelöscht".

Da müsstest du halt die HTML-Standardeinstellungen wieder aktivieren, also auch die Werte "inline", "table-row" usw. je nach Element verteilen.

nitschi

miau!
Avatar
Registered: Oct 2002
Location: Wien
Posts: 1737
Zitat von that
Da müsstest du halt die HTML-Standardeinstellungen wieder aktivieren, also auch die Werte "inline", "table-row" usw. je nach Element verteilen.
Ja, stimmt. Da hab ich im Ursprungspost auch zu wenig Info diesbezüglich gegeben, sorry. :) So gesehen war dein Tip aber trotzdem schon mal ein sehr guter! In diesem Fall dürfte aber der Weg über das WB-Plugin (Firefox) der einfachere sein, da sich das print.css einfach deaktivieren lässt.

Danke aber dennoch! :cool:
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz