window.open之后,可以't在Safari for Mac中打印

After window.open, can't print in Safari for Mac

本文关键字:Safari for Mac 打印 之后 open 可以 window      更新时间:2023-09-26

我使用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>");