访问财产的权限被拒绝" print"在Firefox中的iframe中的跨源对象

时间:2018-01-02 14:13:06

标签: jquery firefox

此代码在Chrome中正常运行,但在Firefox中运行不正常。它给出了一个错误:

  

SecurityError:拒绝访问属性的权限" print"关于跨源对象"

请给我一个解决方案。

<iframe src="myfile.pdf" style="width: 96%; height:500px;" frameborder="0" id="iframe" name="iframe"></iframe>
<button type="button" class="btn btn-default" onclick="print()">Print</button>
function print() {
   jQuery("#iframe").get(0).contentWindow.print();
}

1 个答案:

答案 0 :(得分:0)

问题在于查看器。嵌入式查看器会导致跨域问题。尝试创建自己的查看器。这样可以解决问题。例如从这里开始:https://pspdfkit.com/blog/2019/implement-pdf-viewer-pdf-js/

或者,如果您需要全功能的查看器,则可以从此处使用Mozilla:http://mozilla.github.io/pdf.js/web/viewer.html(为此,您需要下载最新的pdf.js和pdf.worker.js实现)。我只是为工作中的项目做的,它就像一个魅力。