javascript – 通过iframe下载文件时出现Chrome错误

我正在向服务器提交 JSON数据.服务器生成PDF文件并使用该PDF文件的URL进行响应.然后我再向服务器发出下载PDF文件的请求.要进行下载,我创建一个隐藏的iframe并将源设置为PDF网址.请注意,我希望用户的浏览器保持在同一页面并在后台下载.关于我正在做什么以及我使用的解决方案的更多细节可以在 this SO question找到.

每当我在Chrome中使用此技术时,一切正常.但是看一下chrome开发者控制台,我看到错误消息无法加载资源.有没有办法以不同的方式做到这一点,以便我不会得到这些错误

在jsfiddle上可以看到非常简单且有效的example of the problem in action.只需单击“下载PDF”按钮,然后查看Chrome控制台即可.

页面上的代码如下所示:

$(document).ready( function() {
    var downloadFile = function(url){
        var iframe = $("iframe#download");
        if (!iframe.length) {
            iframe = $("<iframe id='download' style='display:none;'/>");
            $("body").append(iframe);
        }
        iframe.attr("src",url);
    };

    $("button").click(function() {    
        downloadFile("http://www.education.gov.yk.ca/pdf/pdf-test.pdf");
    });
});

解决方法

其他受访者建议更改内容类型标题,这应该也可以正常工作,但是有一个特定的响应标题用于指示浏览器如何处理文件.

以下应强制下载pdf而不是在浏览器中显示

内容处理:附件;文件名= [您的文件名]”

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...