我有一个功能,我找不到为什么打印空页。也只有Opera打印不是空页,它打印所有页面。不仅仅是iframe。在Chrome中,如果我使用srcdoc,则没有问题。 请帮忙
function printpage(src){
//create new image tag
var newImg = new Image();
newImg.onload = function(){ loading(); };
newImg.src = src;
newImg.style.height = "100%";
newImg.style.width = "100%";
var ifrm = null;
ifrm = document.getElementById('iframe');
if(ifrm==null){
ifrm = document.createElement("IFRAME");
ifrm.style.width=853+"px";
ifrm.style.height=1024+"px";
ifrm.style.display="none";
ifrm.id = "iframe";
ifrm.name = "iframe";
ifrm.width = ifrm.height = 0;
document.body.appendChild(ifrm);
}else{
//ifrm.contentWindow.Reset();
document.body.appendChild(ifrm);
}
var s = '<img src ="'+src+'" width="100%" height="100%" ></img>'+
'<script>'+
'function printMe(){ '+
'window.print();'+
'}'+
'</script>';
ifrm.src = "data:text/html;charset=utf-8," + escape(s);
console.log("new ifrm is ",ifrm);
var frameContent = (ifrm.contentWindow || ifrm.contentDocument || ifrm.window);
console.log("frameContent",frameContent);
frameContent.focus();
frameContent.print();
}
答案 0 :(得分:0)
我发现了问题:
ifrm.style.display="none"; // The browser can't print content which is not displayed.
我使用ifrm.style.visibility="hidden";