Javascript 带有iframes的页面打印空白iframes
我有一个带有iframes的页面。iFrame会在浏览器中显示,但当我打印previerw或在IE8中打印时,有时部分或所有的框架都是空白的。我的意思是框架和div在那里,但是没有内容 框架区域的结构如下所示:Javascript 带有iframes的页面打印空白iframes,javascript,internet-explorer,iframe,printing,Javascript,Internet Explorer,Iframe,Printing,我有一个带有iframes的页面。iFrame会在浏览器中显示,但当我打印previerw或在IE8中打印时,有时部分或所有的框架都是空白的。我的意思是框架和div在那里,但是没有内容 框架区域的结构如下所示: <div id="container"> <div id="frames"> <iframe src="about:blank" name="FRAME0"></frame> </div> <
<div id="container">
<div id="frames">
<iframe src="about:blank" name="FRAME0"></frame>
</div>
</div>
我试过focus()然后是print()、self.print()、window.print()、top.window.print()等等
请告诉我这是IE8的问题还是我可以用javascript克服的问题。我被迫只使用javascript。参与该项目的人有一个类似的IE7版本,如果iframe没有pdf文件,他们不会遇到这个问题。有css应用于iframe(即,
宽度:100%
),如果使用显示:无选中复选框,则可以有条件地隐藏iframe。您可以使用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()
});
});
$('iframe')。每个(函数(){
var iframe=$(此值);
html2canvas(iframe[0]。contentDocument.body{
onrendered:函数(画布){
var wrapper=iframe.hide().wrap(“”).parent().css({
位置:'相对'
});
$(canvas.css('position','absolute').appendTo(wrapper);
},
宽度:iframe.width(),
高度:iframe.height()
});
});
您可以尝试在打印前使用html2canvas渲染iFrame。我将如何开始这样做?我不熟悉html2canvas。这似乎是一个独特的形式和内容的绘画很多。
$('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()
});
});