0

IE9のWebアプリケーションを作成していますが、window.print()ではなくPrint Previewダイアログを開く必要があります。IE9で印刷プレビューダイアログを呼び出そうとしたときにオブジェクトがプロパティまたはメソッド 'ExecWB'をサポートしていません

function PrintPreview() 
{ 
    var OLECMDID = 7; 

    /* OLECMDID values: 
    * 6 - print 
    * 7 - print preview 
    * 0 - open window 
    * 4 - Save As 
    */ 

    var PROMPT = 1; // 1 PROMPT USER 2 DON'T PROMPT USER 
    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 


    window.document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 

    WebBrowser1.ExecWB(OLECMDID, PROMPT); 
    WebBrowser1.outerHTML = ""; 

} 

しかし、この行は失敗します:

WebBrowser1.ExecWB(OLECMDID, PROMPT);

- しかし、彼らは利益率など)

を設定することができるものは、私はこの質問でこのコードを見つけました

IE9とIE11の両方におけるエラーメッセージはこれです:

更新「オブジェクトがプロパティまたはメソッド 『ExecWB』サポートしていません」

:より多くのテストコードは、いくつかのIE9で動作することを示しました/ IE11ブラウザ(私のマシン上など)では動作しますが、Azure VM内のブラウザやお客様の設定では動作しません。

WebBrowser1はnullではなく、正しいclassidなどの多くのプロパティとメソッドがありますが、ExecWB()メソッドはありません。

答えて

0

は、コードが動作しないことが判明し、このオプションはIE Toolsで "無効" に設定されている場合=>Internet Options =>Security =>Security Settings

Allow Scriptlets option in IE