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; } );