此代码在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();
}
答案 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实现)。我只是为工作中的项目做的,它就像一个魅力。