SPA打印<div>后无响应

时间:2017-10-04 23:10:42

标签: javascript angularjs node.js express angularjs-routing

我为客户构建一个小网站,作为应用程序的一部分,我需要能够打印div的内容。在这里的另一个问题的帮助下,我在控制器中想出了一个小函数,只显示有问题的div,打开打印对话框,然后返回到原始页面。

self.printDiv = function(divName) {
    var printContents = document.getElementById(divName).innerHTML;
    var originalContents = document.body.innerHTML;

    document.body.innerHTML = printContents;

    window.print();

    document.body.innerHTML = originalContents;
   }

我遇到的问题是,在返回页面后,它变得没有响应。单击链接和按钮输出到控制台(在浏览器和我的服务器终端中),就好像它仍在工作,但没有任何明显的变化。

我尝试在新窗口中打开它,但是没有编写新的HTML,控制器,服务,路线等等,我也不知道如何让它以这种方式工作。 我也试过几个地方的$ location,但这也没有帮助。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

更好,更快,更简单的方法是使用metadataOutput.metadataObjectTypes = metadataOutput.availableMetadataObjectTypes 查询。

在我看到这篇博文https://joshuawinn.com/css-print-media-query/之前,我没有找到任何真正的好的指示。

本质上,您将一个类添加到您不想打印的所有标记中(在我的示例中,我使用了@media print),然后将以下内容添加到样式表中。

class='noPrint'

比我第一次尝试更容易。