Я создаю дополнительное окно браузера с кодом Javascript, используя функцию window.open, и программно заполняю его некоторым содержимым HTML. Он хорошо работает для всех браузеров, которые поддерживает мое приложение, за исключением одного: Safari на Mac. На самом деле само окно в порядке, но команда печати отключена. Кто-нибудь знает, почему? Я должен упомянуть, что основная причина, по которой это окно отображается, состоит в том, чтобы позволить пользователям распечатать некоторые данные. Думаю, я мог бы реализовать кнопку «Печать» на странице, но я бы предпочел этого не делать (и это тоже может не работать, но я не пробовал).
Вот упрощенный пример кода, который я использую для создания содержимого 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();
Я пробовал варианты вокруг этого кода, но безуспешно. Мои тесты проводились с Safari 5.1 на Mac OS X 10.6.8. Любая помощь приветствуется!