我有一个包含iframe的页面。 iframe在浏览器中显示,但是当我打印previerw或在IE8中打印时,有时一些或所有帧都是空白的。我的意思是框架和div是存在但没有内容。
框架区域的结构如下:
<div id="container">
<div id="frames">
<iframe src="about:blank" name="FRAME0"></frame>
</div>
</div>
表单将iframe作为目标。
有时他们在使用纸张尺寸C时打印,但大多数时候他们不打印。通常前两个iframe打印,我注意到它们在同一页面上。
我用来打印的功能是:
function printNow() {
print();
}
我尝试过focus(),然后是print(),self.print(),window.print(),top.window.print()等。
请告诉我这是IE8的问题还是我可以用javascript克服的问题。我被迫只使用javascript。在项目上工作的人有一个类似的IE7版本,他们没有遇到这个问题,而不是iframe有一个pdf文件。有一个css应用于iframe(即width: 100%
),如果使用display:none
选中了复选框,则可以有条件地隐藏iframe。
答案 0 :(得分:0)
您可以使用html2canvas在打印之前渲染iframe
$('iframe').each(function() {
var iframe = $(this);
html2canvas(iframe[0].contentDocument.body, {
onrendered: function(canvas) {
var wrapper = iframe.hide().wrap('<div/>').parent().css({
position: 'relative'
});
$(canvas).css('postion', 'absolute').appendTo(wrapper);
},
width: iframe.width(),
height: iframe.height()
});
});