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



这段代码在Chrome中运行良好,但在Firefox中无法正常工作。它给出了一个错误:

安全错误:访问跨源对象上的属性"打印"的权限被拒绝"

请给我一个解决方案。

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

问题是查看器。嵌入式查看器会导致跨源问题。尝试创建您自己的查看器。这将解决问题。例如,从这里开始: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实现(。我只是在工作中为一个项目做了这件事,它就像一个魅力。

最新更新