使用window.open()通过iframe打开PDF时会卡住

时间:2018-08-28 13:16:41

标签: javascript pdf iframe window.open

我正在尝试在新标签页中打开以base64格式作为字符串接收的PDF。它会在没有任何内容的新窗口中打开,但是当我在页面上执行“检查元素”时,PDF就会完全正常。

这是我的代码-

var pdfWindow = window.open("about:blank", "_blank");
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64, " + encodeURI(payload)+"'></iframe>");

我还想在新标签页而不是新窗口中打开PDF。在新窗口中打开时,PDF会完美打开。

要在新窗口中打开,请使用以下代码-

let pdfWindow = window.open("", '_blank', 'dependent=yes,locationbar=no,scrollbars=no,menubar=no,resizable,screenX=50,screenY=50,width=850,height=800')
pdfWindow.document.write("<iframe width='100%' height='100%' src='data:application/pdf;base64, " + encodeURI(payload)+"'></iframe>");

1 个答案:

答案 0 :(得分:0)

这是一个古老的问题,但可能对其他人有帮助: 问题出在iframe的宽度和高度标签上。而不是使用百分比,而是使用定义的像素。这样可以解决问题。

<iframe width='600px' height='600px' ...> </iframe>