由chrome阻止的Javascript打印

时间:2011-03-12 13:19:53

标签: javascript google-chrome printing

我正在尝试从Chrome运行javascript window.print()。它首次打印但随后的呼叫(在第一次呼叫的一分钟内)失败。 chrome日志指出“忽略过于频繁的print()调用。”

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

无法找到解决此问题的方法。有什么想法吗?

提前致谢

5 个答案:

答案 0 :(得分:10)

这似乎是一个设计决定而不是一个错误。绕过它可能会非常困难。

答案 1 :(得分:6)

听起来像Chrome的一个故意选择,你可能无法绕过。作为替代方案,您可以立即准备所有工作并将其与分页符分开:

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

答案 2 :(得分:4)

我发现以下内容可以解决Chrome中的JavaScript打印问题:

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

似乎在onclick处理程序中添加“return false”位会让Chrome感到高兴。

我认为没有它,Chrome会尝试在某个地方跟踪链接/重新加载页面。这导致打印对话框显示无法打印。

答案 3 :(得分:1)

好!错误fixed。 如果我没有错,那么该错误已作为第23条的一部分修复。

因此,如果发布周期为每6周一次,Chrome 22在9月25日发布,那么到11月6日(aprox。),修复程序将在Chrome稳定版本中

答案 4 :(得分:0)

在chrome中,您必须触发window.location.reload事件以触发打印事件.. ref Chrome: window.print() print dialogue opens only after page reload (javascript)

这对我有用..

window.print();
if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1){
  window.location.reload();
}