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()
メソッドはありません。