2012-02-06 20 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