Firefox在iframe中打印PDF会引发错误

时间:2013-04-02 17:00:07

标签: javascript firefox printing

需要帮助

我需要在点击时将PDF加载到iframe,然后在其上调用打印对话框。

我有这样的代码:

$('.print').click(function () {
   var iframe = '<iframe src="test.pdf" id="print-iframe" name="print-iframe"></iframe>';
   $('body').append(iframe);
   window.frames["print-iframe"].focus();
   window.frames["print-iframe"].print();
});

它在Chrome中完美运行。但在Firefox中我有这样一个错误: Error: Permission denied to access property 'print'

我该如何解决这个问题?谢谢!

2 个答案:

答案 0 :(得分:8)

在最新版本的Firefox(自19年代)上,您必须在about:config中禁用有问题的原生PDF查看器(pdf.js)。将pdfjs.disabled属性设置为true,您将看到使用您的脚本显示打印窗口。

如果开始下载,请将plugin.disable_full_page_plugin_for_types属性设置为application/pdf

答案 1 :(得分:-2)

这是带有完整网址的iframe中的Src错误src =“domain.com/file.pdf”

你可以尝试

$('.print').click(function () {

  var domain = location.protocol + "//" + location.host;
  var iframe = '<iframe src="'+domain+'/test.pdf" id="print-iframe" name="print-iframe"></iframe>';
  $('body').append(iframe);
  window.frames["print-iframe"].focus();
  window.frames["print-iframe"].print();
});