IE7&IE8 javascript打印功能
IE7 & IE8 javascript print function
我遇到了一个无法解决的javascript问题。我获取了一段代码在这里,我在这个页面上使用它。
其想法是,用户可以单击"打印列表"按钮,然后将列表复制到隐藏iframe中的div中并进行打印。打印的页面包含iframe源HTML,并正确插入了列表。然而,在IE7&8,打印的页面是完整的父页面,而不是iframe。IE9、Chrome和FF中的行为是正确的。
我试着调试这个脚本,但我看不出哪里出了问题。
以下是"打印列表"点击触发的代码:
function printSection(id) {
if (document.getElementById('print_frame').contentDocument){
theIframe = document.getElementById('print_frame').contentDocument;
}
else {
theIframe = document.frames['print_frame'].document;
}
var thePrinter = theIframe.getElementById('print_section');
var theCopy = document.getElementById(id);
thePrinter.innerHTML = theCopy.innerHTML;
parent.print_frame.printPage();
}
下面是printPage()函数:
function printPage() {
window.parent.print_frame.focus();
window.print();
}
如果有任何帮助,我将不胜感激。如果你需要更多信息,请告诉我。非常感谢。
一个更简单的解决方案可能只是使用CSS媒体类型来隐藏页面的内容,并显示一个隐藏的元素以供打印。
CSS
.print{display:none;}
@media print {
.pagecontainer{display:none;}
.print{display:block;}
}
HTML
<body>
<div class="pagecontainer">
Page content here
</div>
<div class="print">Only show this when printing</div>
</body>
相关文章:
- JavaScript打印功能使日历停止工作
- 如何用javascript打印php数组
- 打开抽屉的Javascript打印命令
- JavaScript-打印元素值
- 直接使用html5或javascript打印
- system.err风格的控制台以javascript打印
- 无法使用JavaScript打印带有for循环的验证错误
- 使用Javascript打印图像
- chrome在通过javascript打印时要求登录
- 在SharePoint中通过javascript打印
- JavaScript打印的数字有20位小数
- 使用Javascript打印HTML:未定义错误
- 使用javascript打印元素
- 使用 JavaScript 打印 PDF
- Javascript 打印多个网页 iFrame 内容(全部打印按钮)
- 如何使用嵌套循环使用 Javascript 打印到外部循环的输出中
- JavaScript:打印前 12 个月 - “March”打印两次
- Javascript:打印类属性
- 如何使用 javascript 打印带上划线的文本
- 通过 Javascript 打印在 IFrame 中加载的 PDF