contentWindow.document.execCommand(’print’,false,null)在firefox中不起作用
我正在为iframe实现一些打印function,我正在使用下面的代码:
$('#printBtn').click(function(){ var iframe = document.getElementById('previewInfoBodyFrame'); iframe.contentWindow.document.execCommand('print', false, null); return false; });
但我发现在Firefox浏览器中,它不起作用,但对于IE,Chrome和Safari,它工作正常。 搜索了很多,但无法弄清楚这是怎么发生的。 谁能提出一些想法? 谢谢
Firefox不支持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
您可能想要阅读: 使用Javascript打印(部分)网页
希望这可以帮助。
在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; } );