Печать Javascript заблокирована хромом - PullRequest
16 голосов
/ 12 марта 2011

Я пытаюсь запустить JavaScript window.print() из Chrome. Он печатает первый раз, но затем последующие вызовы (в течение минуты после первого вызова) завершаются неудачно. В журнале Chrome указано «Игнорирование слишком частых вызовов функции print ()».

     window.print();
 setInterval(function() {
     window.print();
 }, 5000);

Не могу найти способ обойти эту проблему. Есть идеи?

Заранее спасибо

Ответы [ 5 ]

10 голосов
/ 12 марта 2011

Это скорее дизайнерское решение, чем ошибка. Обойти это, вероятно, будет довольно сложно.

6 голосов
/ 12 марта 2011

Звучит как преднамеренный выбор со стороны Chrome, который вы, вероятно, не сможете обойти. В качестве альтернативы вы можете подготовить все свои работы сразу и отделить их разрывом страницы:

<div style="page-break-after:always"></div>

4 голосов
/ 31 декабря 2011

Я нашел следующее решение для включения JavaScript-печати из Chrome:

<a href="#" onclick="window.print(); return false;">Click me to Print</a>

Похоже, что добавление бита return false в обработчик onclick делает Chrome счастливым.

Я думаю, что без этого Chrome пытается где-то перейти по ссылке / перезагрузить страницу. В результате в диалоговом окне печати ничего не печатается.

1 голос
/ 15 октября 2012

Хорошо!Ошибка исправлена ​​.Ошибка была исправлена ​​как часть v.23, если я не ошибаюсь.

Так что, если цикл выпуска каждые 6 недель, а Chrome 22 выходил 25 сентября, то к 6 ноября (приблизительно), исправление будет в версии Chrome Stable

0 голосов
/ 27 января 2014

В chrome вы должны запустить событие window.location.reload, чтобы запустить событие печати. ​​Ref из Chrome: диалог печати window.print () открывается только после перезагрузки страницы (javascript)

Это работает для меня ..

window.print();
if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1){
  window.location.reload();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...