需要帮助
我需要在点击时将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'
。
我该如何解决这个问题?谢谢!
答案 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();
});