小编JBo*_*oss的帖子

谷歌浏览器 - PDF在iFrame中下载无效

因此,由于最近的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>");
    });

});
Run Code Online (Sandbox Code Playgroud)

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

非常感谢提前.

javascript pdf iframe google-chrome download

7
推荐指数
1
解决办法
3423
查看次数

标签 统计

download ×1

google-chrome ×1

iframe ×1

javascript ×1

pdf ×1