2012-02-06 44 views
0

我使用window.open函數創建了一個包含Javascript代碼的輔助瀏覽器窗口,並用一些HTML內容以編程方式填充它。它適用於我的應用程序支持的所有瀏覽器,除了一個:Mac上的Safari。實際上,窗口本身是確定的,但打印命令被禁用。有人知道爲什麼嗎?我應該提到,顯示這個窗口的主要原因是允許用戶打印一些數據。我想我可以在頁面中實現一個「打印」按鈕,但我不希望(也可能不工作,但我沒有嘗試過)。window.open之後,無法在Mac版Safari中打印

這裏是我用於創建HTML內容的代碼的一個簡化的例子:

 var pp = window.open("", "_blank"); 
     pp.document.writeln("<html>"); 
     pp.document.writeln("<head>"); 
     pp.document.writeln("<title>"); 
     pp.document.writeln("Hello"); 
     pp.document.writeln("</title>"); 
     pp.document.writeln("</head>"); 
     pp.document.writeln("<body>"); 
     pp.document.writeln("The body"); 
     pp.document.writeln("</html>"); 
     pp.document.close(); 

我試圖圍繞該代碼變型中,沒有任何成功。我的測試是在Mac OS X 10.6.8上使用Safari 5.1完成的。歡迎任何幫助!

回答

1

有窗口打印本身:

</html>加之前:

pp.document.writeln("<script type='text/javascript'>window.print()</script>"); 
+0

謝謝,它的工作原理!事實上,由於我們不強制用戶打印窗口(他們也可以使用它來查閱數據),打印呼叫將通過「打印」按鈕觸發。但至少,我知道它會起作用。 – ConnorsFan 2012-02-07 01:03:19