2013-08-30 51 views
0

以下HTML頁面應在新窗口中打開http://www.seznam.cz,然後打開「打印」對話框以允許打印。使用javascript打印頁面不起作用

<html> 
    <head> 
     <script> 
      function printPage() 
      { 
       var newWindow = window.open("http://www.seznam.cz", "seznam"); 
       newWindow.document.close(); 
       newWindow.focus(); 
       newWindow.print(); 
       newWindow.close(); 
      } 
     </script> 
    </head> 
    <body> 
     <a onClick="printPage(); return false;" href="">Print</a> 
    </body> 
</html> 

但是它只打印一個空白頁,右上角顯示「about:blank」,右下角顯示當前日期和時間。

爲什麼不按預期工作?

+1

可能與[這個問題](http://stackoverflow.com/questions/6690598/permission-denied-to-access-property-in-iframe),它可能是一個[相同來源政策]的問題(http://en.wikipedia.org/wiki/Same_origin_policy)。 –

+0

是的,我想這畢竟是一個相同的起源政策的問題。這就是爲什麼@ collprarun的版本起作用,而原來的版本不起作用。 –

回答

1

試試這個..它會打印Page.You可以更改爲您的要求。

<input type="button" value="Print" onclick="printPage('content');"></input> 

function printPage(id) 
{ 
    var html="<html>"; 
    html+= document.getElementById(id).innerHTML; 
    html+="</html>"; 

    var printWin = window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status =0'); 
    printWin.document.write(html); 
    printWin.document.close(); 
    printWin.focus(); 
    printWin.print(); 
    printWin.close(); 

}

+1

我覺得你損失'' –

+0

哦,謝謝你的糾正@AldiUnanto – coolprarun

0

原因是,因爲您在功能中再次關閉窗口。刪除

newWindow.document.close(); 
newWindow.close(); 

的原因空白頁是,因爲你已經指定了一個空字符串作爲href值。從標籤中刪除href屬性。

+0

不幸的是,這是行不通的。即使我刪除了這兩行,結果仍然是一樣的。 –