Seite 1 von 1

Druck-Stylesheet mit JavaScript aktivieren

Verfasst: 20.03.2006, 14:50
von Christophe
Hallo,

ich habe eine Seite mit einem Druck-Stylesheet. Jetzt ist auch eine Druckvorschau im Browserfenster gewünscht. Um nicht alle Templates kopieren zum müssen um lediglich media="print" zu media="all" zu ändern, hatte ich die Idee das mit Javascript zu machen:

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="print.css" id="printStylesheet" media="print" />
&#40;...&#41;
<a href="javascript&#58;document.getElementById&#40;"printStylesheet"&#41;.setAttribute&#40;"media","all"&#41;;">drucken</a>
Im Internet Explorer funktioniert das prima, beim Mozilla Firefox wird zwar das Attribut geändert, aber die Anzeige anscheinend nicht aktualisiert.

Ein anderes Problem ist der Zurück-Button, der natürlich auf die vorherige Seite geht und nicht auf die Seite ohne Durckvorschau. Wenn da jemand eine Idee hat, würde ich es gerne wissen.

Verfasst:
von

Verfasst: 28.05.2006, 20:55
von Christophe
Hallo,

das Problem ist inzwischen gelöst. Das Stylesheet habe ich ganz regulär eingebunden:

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="print.css" media="print" />
Das Druck-Stylesheet wird zusätzlich per Klick aktiviert, da viele Nutzer die Druckvorschau des Browsers nicht kennen.

Code: Alles auswählen

function printPreview &#40;&#41; &#123;
	var l=document.createElement&#40;"link"&#41;;
	l.setAttribute&#40;"href", "/print.css"&#41;;
	l.setAttribute&#40;"media", "screen"&#41;;
	l.setAttribute&#40;"rel", "stylesheet"&#41;;
	l.setAttribute&#40;"type", "text/css"&#41;;
	document.getElementsByTagName&#40;"head"&#41;&#91;0&#93;.appendChild&#40;l&#41;;
	this.print&#40;&#41;;
&#125;