我为客户构建一个小网站,作为应用程序的一部分,我需要能够打印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,但这也没有帮助。有什么想法吗?
答案 0 :(得分:0)
更好,更快,更简单的方法是使用metadataOutput.metadataObjectTypes =
metadataOutput.availableMetadataObjectTypes
查询。
在我看到这篇博文https://joshuawinn.com/css-print-media-query/之前,我没有找到任何真正的好的指示。
本质上,您将一个类添加到您不想打印的所有标记中(在我的示例中,我使用了@media print
),然后将以下内容添加到样式表中。
class='noPrint'
比我第一次尝试更容易。