gpt4 book ai didi

javascript - Google Chrome - iFrame 中的 PDF 下载不工作

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:13 27 4
gpt4 key购买 nike

因此,由于最近的 Chrome 更新阻止了使用 javaScript 直接打开数据 URL:“不允许将顶部框架导航到数据 URL”,我有一些代码需要修改。我有一个使用 mPDF 生成 PDF 的 ajax 调用,将其发送回 base 64 - 并且应该在新选项卡中打开。这总是有效的。但是由于这个问题,我现在要做的是将该 PDF 加载到新窗口中的 iFrame 中以避免错误。那行得通,这就是我所拥有的:

$('.print-order-pdf').click(function(){

var orderNumber = $(this).attr('order')
var data = {
pdfnonce: pdfAjax.pdfnonce,
action: 'getOrderPDF',
orderNumber: orderNumber,
}
var win = window.open('', '_blank');
$.post(pdfAjax.ajax_url, data, function(return_url){
win.document.write("<iframe id='pdf' src='"+ return_url +"'></iframe>");
win.document.write("<style> html, body{ overflow:hidden; margin:0; } #pdf{ width:100%; height: 100%; }</style>");
});

});

(这是一个 wordPress Ajax 调用)。无论如何 - 一切正常,带有 PDF 的新页面打开。问题是 - 在 Chrome 中,作为 PDF 控件的一部分出现的下载链接不再有效。我可以打印、旋转等等 - 但不能下载文件。我已经在 firefox 中测试过,触发那里的下载没有问题。 PDF 窗口的 Chrome 控制台完全没有显示任何错误。有任何想法吗? Chrome 中是否有特定内容阻止从 iFrame 内部下载?为什么?有解决办法吗?

提前致谢。

最佳答案

我的场景就是这样!我使用的是 chrome 版本 61.0.3163.100。我想这是浏览器的一些缺陷,但我在谷歌的论坛上没有找到任何东西。我不确定是否直接下载文件,但不想放弃 chrome PDF 查看器。

暂时,我找到了一个丑陋且不雅的解决方案,直到我有一个明确的答案。我在生成的窗口中创建了一个链接:

var newWindow = window.open("", "PDF", 'dependent=yes,locationbar=no,scrollbars=no,menubar=no,resizable,screenX=50,screenY=50,width=850,height=800');
newWindow.document.write(
'<html><body><center>' +
'<a title="Download File" style="font-family: \'Verdana\';color: #333;text-decoration: none;font-weight: 600;" download="File.PDF" href="data:application/pdf;base64,' + base64 + '">Download File</a>' +
'</center><br>' +
'<object width=100% height=100% type="application/pdf" data="data:application/pdf;base64,' + base64 + '">' +
'<embed type="application/pdf" src="data:application/pdf;base64,' + base64 + '" id="embed_pdf"></embed>' +
'</object></body></html>');
newWindow.window.focus();

关于javascript - Google Chrome - iFrame 中的 PDF 下载不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45947157/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com