Mirko Richter: Seite drucken

Beitrag lesen

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