iframe页面打印空白iframe

时间:2013-08-15 08:08:56

标签: javascript internet-explorer iframe printing

我有一个包含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。

1 个答案:

答案 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()
    });
});