Silent/kiosk 打印与 Angular 不兼容?

Silent/kiosk printing incompatible with Angular?

好的,这是我的故事:我开发了一个 Web 应用程序,它填充了我之前准备好的打印区域:

<div class="print-area">
   <div class="receipt" ng-repeat="receipt in receipts" style="padding: 10px">
       <div .... >
       <span .... >
       <table .... >
   </div>
</div>

其中 receipts 是由 Ajax 调用异步生成的数组(使用 $http 依赖注入器):

$http.get("/some/api/call").success(function(reply){
   $scope.receipts = reply;

   $timeout(function(){
       window.print();
   }, 1000);

});

事情开始变得奇怪了,我在 windows 7 机器中使用最新的 chrome 51.0.2704.79 并启用了 (--kiosk --kiosk-printing),每当 window.print() 被调用,一些 .receipt 不被打印。它们只是随机跳过(主要是最后一个 .receipt 元素)并留下空白 space。但是,当我禁用 --kiosk --kiosk-printing 选项时,它会正常打印所有 .receipt

我对打印机驱动程序没有任何问题,并且在另一台计算机上进行了测试,结果相同,似乎信息亭模式在某些方面干扰了angular

有什么建议吗?谢谢

找到了!这是 Google Chrome 本身的问题。如果您也遇到同样的问题,请按照以下步骤操作:https://bugs.chromium.org/p/chromium/issues/detail?id=136343