我现在正在为iframe实现一些打印功能,我正在使用下面的代码:
$('#printBtn').click(function(){
var iframe = document.getElementById('previewInfoBodyFrame');
iframe.contentWindow.document.execCommand('print', false, null);
return false;
});
但我发现在firefox浏览器中,它不能正常工作,但对于IE,Chrome和Safari,它运行正常。搜索了很多,但无法弄清楚这是怎么发生的。谁能提出一些想法?感谢
答案 0 :(得分:2)
execCommand('print')
。
https://developer.mozilla.org/en-US/docs/Web/API/document.execCommand
您可以改为使用print()
功能。
window.print() ;
https://developer.mozilla.org/en-US/docs/Web/API/Window.print
你可能想读这个: Printing a (part of) webpage with Javascript
希望这有帮助。
答案 1 :(得分:1)
在naota的帮助下,我为firefox解决了这个问题,这是我打印iframe内容的完整解决方案,对我来说很好。
$('#printBtn').click(function(){
var iframe = document.getElementById('previewInfoBodyFrame');
if(navigator.userAgent.toLowerCase().indexOf("firefox")!=-1){
iframe.contentWindow.print();
}else{
iframe.contentWindow.document.execCommand('print', false, null);
}
return false;
} );