【发布时间】:2015-01-01 01:41:35
【问题描述】:
我有一个应用了 CSS 的页面。要自定义打印,在同一个 css 文件中我有一些 @media 打印样式。这些在执行打印时工作得非常好,但是,用 IE11 进行测试,我意识到预览就像没有考虑媒体打印样式一样工作。 另一方面,如果我定义了一个全新的 css 样式并将其链接为打印样式表,那么预览也可以正常工作(但是这迫使我在这个 css 中复制许多在普通 css 样式表中定义的样式,即我不想改变印刷品)。
我不知道它是否有任何帮助,但我打印页面的方式是调用一个 javascript 函数,该函数仅选择我的 html 页面 (#content) 中 div 的内容并打印它(也在打印页面底部添加版权声明和徽标)
function printit() {
var body = document.getElementById('content').innerHTML;
var tmpWin = window.open('', '', 'width=640,height=480');
tmpWin.document.open("text/html");
tmpWin.document
.write("<html><head><link rel='stylesheet' href='css/stylesheet.css'></head><body>");
tmpWin.document.write(body);
//we add the copyright notice
tmpWin.document.write("<div id='footer'><p>© <script>document.write(new Date().getFullYear())</script> - All rights reserved</p><img id='logo_vertical' alt='DCL' src='img/logo_vertical.png'></div>")
tmpWin.document.write("</body></html>");
tmpWin.document.close();
tmpWin.print();
tmpWin.close();
}
知道我为什么会遇到这个问题吗?
谢谢
【问题讨论】:
-
您还有其他解决方案吗?
标签: javascript html css printing