Seite drucken
Eric Stammel
- html
0 Stefan Muenz0 Frank0 Ulf Lieden0 Thorhall
0 Mirko Richter
Hallo,
ich möchte ein Clipart (Druckersymbol) mit „<img src="drucker.gif" alt="Seite drucken">" auf einer Seite einbinden. Wenn man dann auf das Symbol klickt sollte der Inhalt der Seite direkt beim Client ausgedruckt werden.
Was muß ich eintragen ?
Danke
ERIC
Hallo Eric,
ich möchte ein Clipart (Druckersymbol) mit „<img src="drucker.gif" alt="Seite drucken">" auf einer Seite einbinden. Wenn man dann auf das Symbol klickt sollte der Inhalt der Seite direkt beim Client ausgedruckt werden.
da wo die Grafik hin soll:
<a href="javascript:Drucken()"><img src="drucker.gif" alt="Seite drucken" border=0></a>
Und im Dateikopf, zwischen <head> und </head>, das Folgende:
<script language="JavaScript">
function Drucken()
{
if(document.layers) /* Abfrage auf Netscape 4 */
self.print();
if(document.all) /* Abfrage auf MSIE 4 */
{
self.focus();
var OLECMDID_PRINT = 6;
var OLECMDEXECOPT_DONTPROMPTUSER = 2;
var OLECMDEXECOPT_PROMPTUSER = 1;
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
WebBrowser1.outerHTML = '';
}
}
</script>
viele Gruesse
Stefan Muenz
var OLECMDID_PRINT = 6;
var OLECMDEXECOPT_DONTPROMPTUSER = 2;
var OLECMDEXECOPT_PROMPTUSER = 1;
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
WebBrowser1.outerHTML = '';
Kann ersetzt werden durch window.print();
Gruss Frank
Hi Frank,
Kann ersetzt werden durch window.print();
funktioniert dann allerdings nicht im IE4.
Gruß,
UlfL
Hi Frank,
Kann ersetzt werden durch window.print();
funktioniert dann allerdings nicht im IE4.
Gruß,
UlfL
Das stimmt, funzt zur Zeit "ausschließlich im IE5.0"
GAA Thorhall
Hallo!
Das Script funktioniert ganz hervorragend, es gibt bei mir jedoch ein Problem mit dem IE5.
Wenn ich auf den Drucken-Button gehe, wird die Seite nicht wie im IE4 direkt ausgedruckt, sondern man bekommt das Windows-Druck-Menue. Bestätige ich dieses und wähle dort die Drucken-Fkt. klappt das ganze so wie gewünscht. Gehe ich allerdings auf "Abbrechen" erscheint eine Fehlermeldung, die sich auf die vorletzte Zeile des Active-X-Befehls bezieht und das obwohl ich vorher die Abfrage auf den Browser wie folgt erweitert habe:
<script language="JavaScript">
function Drucken()
{
if(document.layers (navigator.appVersion.substring(0,1) > "4")) /* Abfrage auf Netscape 4 oder Version > 4 */
self.print();
if(document.all && (navigator.appVersion.substring(0,1) < "5")) /* Abfrage auf MSIE 4 */
{
self.focus();
var OLECMDID_PRINT = 6;
var OLECMDEXECOPT_DONTPROMPTUSER = 2;
var OLECMDEXECOPT_PROMPTUSER = 1;
var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
WebBrowser1.outerHTML = ''
}
}
</script>
Eigentlich dürfte der IE5 die Befehle nach der zweiten if-Anweisung gar nicht mehr ausführen.
Kann jemand meine Beobachtung bestätigen und kann vielleicht einen Denkanstoss liefern, wie man das Script ändern müßte damit es auch mit dem IE5 ganz ohne Fehler läuft?
Gruß
Mirko
Hallo Mirko
<script language="JavaScript">
function Drucken()
{
if(document.layers (navigator.appVersion.substring(0,1) > "4")) /* Abfrage auf Netscape 4 oder Version > 4 */
self.print();
if(document.all && (navigator.appVersion.substring(0,1) < "5")) /* Abfrage auf MSIE 4 */
Dein Fehler liegt in der Abfrage, der IE5 meldet sich als IE4. Den IE 5 kannst du z.B. so abfragen
if (navigator.appVersion.substring(22,23)==5)
Viele Grüße
Antje
Hallo Antje!
Dein Fehler liegt in der Abfrage, der IE5 meldet sich als IE4. Den IE 5 kannst du z.B. so abfragen
if (navigator.appVersion.substring(22,23)==5)
Ich hätte vielleicht mal ausprobieren sollen, wie der IE5 sich meldet. War einfach davon ausgegangen, dass die Meldung analog zum 4er ist, nur eben mit 5 am Anfang.
Vielen Dank für den Hinweis!
Gruß
Mirko