猿问

如何在Safari / Chrome中从javascript打印IFrame

有人可以通过Safari / Chrome中的javascript调用帮助我打印IFrame的内容。


这适用于Firefox:


$('#' + id)[0].focus();

$('#' + id)[0].contentWindow.print();

这适用于IE:


window.frames[id].focus();

window.frames[id].print();

但我无法在Safari / Chrome中使用任何功能。


谢谢


安德鲁


噜噜哒
浏览 757回答 3
3回答

繁星coding

将打印功能放在iframe中并从父级调用它。IFRAME:function printMe() {  window.print()}父:document.frame1.printMe()

饮歌长啸

这是我完整的跨浏览器解决方案:在iframe页面中:function printPage() { print(); }在主页面中function printIframe(id){    var iframe = document.frames        ? document.frames[id]        : document.getElementById(id);    var ifWin = iframe.contentWindow || iframe;    iframe.focus();    ifWin.printPage();    return false;}

慕容3067478

我使用了Andrew的脚本,但在调用printPage()函数之前添加了一个部分。iframe需要焦点,否则它仍会在IE中打印父帧。function printIframe(id){    var iframe = document.frames ? document.frames[id] : document.getElementById(id);    var ifWin = iframe.contentWindow || iframe;    iframe.focus();    ifWin.printPage();    return false;}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答