提示的內容:SCRIPT438: 對象不支持“ExecWB”屬性或方法
首先解決IE9不能打印預覽的問題:
查找了一大推資料 ,有兩種說法:一種是IE的安全性級別太高;一種是需要安裝什么 微軟web 瀏覽器,這兩種解決方法對於我的問題都沒有起到效果。無奈之下:只能將IE9 這個瀏覽器的版本號獲取出來,不進行預覽,直接進行信息打印。
jquery 獲取瀏覽器版本號的方法(需要引入的插件為:jquery-migrate-1.1.0.js):
- var version = $.browser.version;
原以為IE9和IE9的兼容版的版本相同,還糾結這塊怎么處理、、、、、、沒想到IE9的版本號為(9.0)IE9兼容版的版本號為(7.0),這就好辦了。。。。。。沒有辦法只能再切打印了
接下來解決火狐不能打印的問題:
- var doc = $iframe[0].contentWindow.document; //兼容各種瀏覽器
- doc.designMode = "on";
- doc.open();
- doc.write(data);
- doc.close();
- //alert("頁面輸出的內容為"+doc.body.innerHTML); //doc.body.innerHTML 只有IE支持,其他的瀏覽器無效
- doc.designMode ="off";
進行獲取的數據信息打印,代碼如下:
- $iframe[0].contentWindow.focus();
- $iframe[0].contentWindow.print();
打印出來的界面始終為空白,很是無語。經過一番查詢,就想着是否數據真正寫入iframe ,於是采用代碼:
- alert(document.all.print_iframe.contentDocument.body.innerHTML)
彈出框是空白。最后只好進行重新復制,最終問題解決,賦值的代碼如下:
- document.all.iframe名.contentDocument.body.innerHTML=data; //data 代表html數據信息
親們:我這是沒有辦法的辦法,路過的如果有什么更好的解決方法,可以給我留言,提前謝謝了哈。。。。。。