有人能帮我在Safari/Chrome中通过javascript调用打印IFrame的内容吗?
这在firefox中是有效的:
$('#' + id)[0].focus();
$('#' + id)[0].contentWindow.print();
这在IE中有效:
window.frames[id].focus();
window.frames[id].print();
但是我无法在Safari/Chrome中运行任何东西。
谢谢
安德鲁
发布于 2009-01-23 15:18:35
在iframe中放置一个print函数,并从父级调用它。
iframe:
function printMe() {
window.print()
}
父级:
document.frame1.printMe()
发布于 2011-04-20 23:52:21
除了安德鲁和麦克斯的解决方案之外,使用iframe.focus()还可以打印父框架,而不是在IE8中仅打印子iframe。更改这一行可以修复它:
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
ifWin.focus();
ifWin.printPage();
return false;
}
发布于 2010-10-28 23:42:41
使用firefox,但也要添加name
属性,因为它使用firefox中的window.frames
即:
window.frames[id]
Firefox:
window.frames[name]
<img src="print.gif" onClick="javascript: window.frames['factura'].focus(); parent['factura'].print();">
<iframe src="factura.html" width="100%" height="400" id="factura" name="factura"></iframe>
https://stackoverflow.com/questions/472951
复制相似问题