我正在努力使网站达到当前标准并删除框架。我们有一个打印多个文档的页面。加载页面时,它会单独打印所有文档,但只会要求您选择一次打印机。这是代码的简化版本(已测试,正在运行)
<!DOCTYPE html>
<html>
<head>
<title>Print test</title>
<script>
function printAll() {
printAllForms.focus();
if (window.print) {
window.print();
}
}
</script>
</head>
<frameset rows="20%,*" id="printAllForms" onload="printAll()">
<frame id="form1" src="page1.html">
<frame id="form2" src="page2.html">
<noframes>You need the frames</noframes>
</frameset>
</html>
我认为使用iFrame可能会更好。根据其他类似的问题,我提出了这个问题:
<!DOCTYPE html>
<html>
<head>
<title>Print test</title>
<script>
function printPage() {
for (var k = 0; k < window.frames.length; k++) {
window.frames[k].focus();
window.frames[k].print();
}
}
</script>
</head>
<body>
<iframe id="form1" src="page1.html"></iframe>
<iframe id="form2" src="page2.html"></iframe>
<button id="btnPrint" onclick="printPage()">Print</button>
</body>
</html>
这很有效,但每次都会显示一个对话框。
我正在研究的另一种方法是使用数据加载DIV。它将打印为一个文档。如果用户正在双面打印并且存在具有奇数页数的文档,则这可能是一个问题。
非常感谢任何帮助。谢谢。