在Javascript中使用iFrame进行跨浏览器打印

时间:2013-12-16 12:45:25

标签: javascript jquery printing cross-browser

我想使用iFramejavascript进行打印。 以下是我的相同代码:

的Javascript

 function printDiv(divP) {

            window.frames["print_frame"].document.body.innerHTML = $(divP).html();
            window.frames["print_frame"].window.focus();
            window.frames["print_frame"].window.print();
        }

HTML

<iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank">
        </iframe>

此代码仅适用于IE和Mozilla。其他浏览器正在打印白页。我不想使用媒体查询。可能的问题是什么?

1 个答案:

答案 0 :(得分:1)

解决方案:

几点变化:document.write :(并打开和关闭功能)+ iframe 1px大小..

 function printDiv(divP) {
  window.frames["print_frame"].document.open();
  window.frames["print_frame"].document.write('<body>aaaaaaaa</body>');
  window.frames["print_frame"].document.close();
  window.frames["print_frame"].focus();
  window.frames["print_frame"].print();
        }

printDiv()

http://jsbin.com/eLIQAXU/4/quiet

这适用于FF,Chrome,IE,safari:

enter image description here