打开 window.open 后,无法在 Safari for Mac 中打印



我使用window.open函数用Javascript代码创建了一个辅助浏览器窗口,并用一些HTML内容以编程方式填充它。它适用于我的应用程序支持的所有浏览器,除了一个: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完成的。欢迎任何帮助!

让窗口自己打印:

</html>之前添加:

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

最新更新