Alexander: Internet Explorer - Drucken ohne Druckdialog

Hallo Miteinander!

Ich hoffe, es gibt jemanden der mir weiterhelfen kann oder zumindest einen nützlichen Tipp für mich hat. Folgendes Problem:

Ich habe auf einigen Webseiten einen Knopf eingebaut, der das aktuelle Dokument sofort ausdrucken soll, ohne einen Druckdialog anzuzeigen. Dies hat bis jetzt mit nachfolgender Funktion einwandfrei funktioniert:

if(document.all && navigator.appVersion.substring(22,23)==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 = '';
}

Leider tritt nun auf zunehmend mehr PCs (Intranet, das nur aus Windows PCs besteht und Internet Explorer verwendet wird) der Effekt auf, daß trotz korrekter Funktion (Parameter OLECMDEXECOPT_DONTPROMPTUSER) der Druckdialog angezeigt wird. Ich meine es an der Version von Internet Explorer festmachen zu können. So tritt das Problem bei der Version 6.0.2900 immer auf, wohingegen unter 6.0.2600 dieser Fehler noch nicht existiert.

Hat jemand ähnliche Erfahrungen gemacht und eventuell auch eine Lösung dieses Problems gefunden.

Recht herzlichen Dank im Voraus.

Mit freundlichen Grüßen,

Alexander

  1. Moin!

    So tritt das Problem bei der Version 6.0.2900 immer auf, wohingegen unter 6.0.2600 dieser Fehler noch nicht existiert.

    Es handelt sich um keinen Fehler, sondern um eine offenbar auch bei Microsoft eingesehene Notwendigkeit.

    Wenn dein Code bislang funktioniert hat, was hat dich gehindert, eine Javascript-Schleife zu programmieren und die Seite nicht nur einmal, sondern tausendmal zu drucken?

    Genau das ist der Grund, warum man als Browser nicht ohne Benutzereingriff drucken lassen darf. Dass es bislang doch ging, zeigt, dass Microsoft Sicherheit nicht an erste Stelle gestellt hat.

    Mit anderen Browsern funktioniert den Druck-Code ohnehin nicht, und die Benutzer-Interaktion ist sowieso fällig.

    - Sven Rautenberg

    1. @Alexander Brock
      @Sven Rautenberg

      Hallo Alexander und Sven,
      danke für Eure schnelle Reaktion. Ich bin allerdings nicht Eurer Meinung. Aber das würde jetzt zu weit führen hier das Für und Wider zu diskutieren.

      Ich frage deshalb nochmals in die Runde, ob mir jemand bei meinem Problem weiterhelfen kann.

      Danke!

      Alexander

  2. Hallo,

    Leider tritt nun auf zunehmend mehr PCs (Intranet, das nur aus Windows PCs besteht und Internet Explorer verwendet wird) der Effekt auf, daß trotz korrekter Funktion (Parameter OLECMDEXECOPT_DONTPROMPTUSER) der Druckdialog angezeigt wird. Ich meine es an der Version von Internet Explorer festmachen zu können. So tritt das Problem bei der Version 6.0.2900 immer auf, wohingegen unter 6.0.2600 dieser Fehler noch nicht existiert.

    Das ist auch gut so, dass das nicht mehr funktioniert, denn
    so können Anwender z.B. den Drucker, den sie verwenden wollen
    frei wählen und die Seite nicht drucken, wenn sie nur aus Versehen
    den Knopf gedrückt haben. Die Funktion, die du verwendest ist
    ein Exploit, der es IMHO auch ermöglicht, ohne Benutzereingabe zu
    drucken. Dass Winzigweich diesen Bug endlich geschlossen hat,
    ist begrüßenswert.
    Fazit: Vergiss es oder hacke den IE (näheres dazu auf heise). ;-)

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:{ br:> va:) ls:# fo:) rl:( n4:( ss:| de:> js:( ch:| sh:( mo:) zu:}
    http://emmanuel.dammerer.at/selfcode.html
    Deshalb können Pinguine nicht fliegen:
    Was nicht fliegt kann auch nicht abstürzen
    <img src="http://www.againsttcpa.com/images/AgainstTCPA-Log01Small.gif" border="0" alt="">
    http://againsttcpa.com
  3. Hi,
    schau dir mal http://www.meadroid.com/scriptx/ an, ich glaube das ist genau das, was du suchst. Die kostenlose Version kann Drucken im Hintergrund, Seitenorientierung und -ränder festlegen sowie Kopf- und Fußzeile bearbeiten.
    HIH, der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    sh:( fo:| ch:? rl:? br:  n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|
    http://community.de.selfhtml.org/fanprojekte/selfcode.htm