2013-12-20 30 views
3

我有一個HTML格式的SVG文件嵌入對象標籤。問題與window.print()在IE9中的遠程文件

該文件通過文件協議從共享的遠程位置訪問,並在IE(IE9或最新版本)上訪問。

當按下'P'鍵時,我做了更改以觸發window.print(),並且還可以執行ctrl + P這將顯示打印對話框。

我發現上述情況(在IE9上遠程訪問的文件)在這兩種情況下打印質量差異很大。

我們可以通過打印到PDF來檢查。

任何人都可以解釋兩者之間有什麼區別,我應該如何使window.print()的工作方式與我們做ctrl + P時的做法相同?

<!-- DOCTYPE HTML --> 
<HTML> 
<HEAD><TITLE>Print</TITLE> 
<META content="text/html; charset=UTF-8" http-equiv=Content-Type> 
<SCRIPT type=text/javascript src="jquery.js"></SCRIPT> 
<SCRIPT type=text/javascript> 
     function printProcess() { 
     jQuery(document).bind("keyup", function(e){  
       if(e.keyCode == 80){ 
        p(); 
       } 
      }); 
     }  
     function p(){ 
     window.print(); 
     } 
    </SCRIPT> 
</HEAD> 
<BODY style="WIDTH: 100%;HEIGHT: 100%" onload="printProcess();" > 
    <DIV style="HEIGHT: 100%" id="printableDiv" > 
     <OBJECT data="test.svg" width="100%" type="image/svg+xml" height="100%"> 
     </OBJECT> 
    </DIV> 
</BODY> 
</HTML> 
+2

我不知道這是否可以幫助,但使用HTML文檔類型'<!DOCTYPE HTML>'並嘗試與開發者工具驗證(F12),如果您使用最新的標準而非怪癖模式。如果您處於怪異模式,請使用「X-UA兼容」來強制Edge IE。 –

+1

Thanks @VitorCanova,順便說一句,你知道任何資源/文件,全面闡明瞭瀏覽器的打印功能,它取決於什麼因素等, – themanwhosoldtheworld

+0

對不起,只是猜對了。 –

回答

2

對於誰是感興趣的脂肪酶,這裏就是答案。問題是由添加

<META http-equiv="X-UA-Compatible" content="IE=EmulateIE9"> 

到HTML解決了,感謝維托爾卡諾瓦

+0

標記爲答案;) –

0

使用下面的函數:

function print_me(idx) 
{ 
    var browser = navigator.userAgent; 
    if(browser.indexOf('MSIE')>=0){ 
    document.execCommand('print', false, null); 
    } 
    else{ 
    window.print(); 
    } 

}//end func... 

基本上,我們需要一個稍微不同的呼籲MSIE打印方法...