在读完this之后,我明白了理想的选择
window.open('data:application/pdf;base64,' + pdfDataBase64);
不起作用,因为Google删除了对数据URL的顶级导航。
我找到了一个不错的解决方法here,所以我将代码替换为
var win = window.open();
win.document.write('<iframe src="data:application/pdf;base64,' + pdfDataBase64 + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen></iframe>');
可以正常工作,但可以在控制台中找到它:
[不推荐使用]不推荐使用HTML导入,并将在M73中将其删除, 大约在2019年3月。请改用ES模块。看到 https://www.chromestatus.com/features/5144752345317376了解更多 详细信息。
[不推荐使用] document.registerElement已过时,将在M73中删除, 大约在2019年3月。请改用window.customElements.define。 有关更多信息,请参见https://www.chromestatus.com/features/4642138092470272 细节。 (匿名)@ polymer-micro-extracted.js:442
[不推荐使用] Element.createShadowRoot 已不推荐使用,并将于2019年3月左右在M73中删除。请 请改用Element.attachShadow。看到 https://www.chromestatus.com/features/4507242028072960了解更多 细节。 _createLocalRoot @ polymer-mini-extracted.js:2083
我对javascript不太熟悉,恐怕我正在使用的代码从2019年3月起将无法使用。
是否有任何令人担忧的原因,或者我应该忽略此消息?
还有其他方法可以不下载而在新标签页中打开Base64 pdf吗?