下载标签和blob不适用于chrome和IE?

时间:2014-06-23 10:31:54

标签: javascript html internet-explorer google-chrome download

我希望用户能够使用JavaScript下载包含一些数据的文件,该文件大约在一个月前发布,但突然开始在chrome和IE上给我提问。

Chrome在没有扩展名的情况下下载名为“download”的文件,忽略我提供的文件名。当我用notepad ++打开文件时,数据实际上就在那里,所以它只是名称和文件扩展名,这就是窃听。这是我的chrome代码:

var uri = 'data:text/csv;charset=utf-8,' + escape(text);
        var link = document.createElement("a");
        link.href = uri;
        link.style = "visibility:hidden";
        link.download = filename + ".csv";
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);

在IE上,当我尝试运行以下代码时,我得到一个“InvalidStateError”:

var blob = new Blob([text],{
            type: "text/csv;charset=utf-8;"
        });
        navigator.msSaveBlob(blob, filename + ".csv")

我在IE上找到了这个解决方案,因为我无法使用IE的下载属性,这个DID之前有用,但现在不能出于某种原因。

运行chrome的代码也在firefox上测试,并开始下载文件名和扩展名错误。

任何帮助都会非常有用!

1 个答案:

答案 0 :(得分:1)

我几周前看过新版Google Chrome有下载属性的错误。

在这里,您可以看到下载与所有浏览器和版本can I use的兼容性。 IE浏览器不支持它。

目前我找不到下载属性的解决方案,如果有人得到它会很棒!