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

Joh*_*nny 7 javascript printing jquery cross-browser

我想用iFrame和打印javascript.以下是我的示例代码:

使用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();
        }
Run Code Online (Sandbox Code Playgroud)

HTML

<iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank">
        </iframe>
Run Code Online (Sandbox Code Playgroud)

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

Roy*_*mir 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()
Run Code Online (Sandbox Code Playgroud)

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

这适用于 FF、chrome、IE、safari:

在此输入图像描述