gpt4 book ai didi

javascript - IE 中 json 文件的 msSaveBlob 的 InvalidStateError

转载 作者:行者123 更新时间:2023-11-29 15:30:37 25 4
gpt4 key购买 nike

我在实现绕过 Internet Explorer 中“下载”属性缺失行为的解决方案时遇到了一些问题。

用户可以下载三种类型的文件:

  • CSV
  • geoJSON
  • 知识分子语言

所以在 Chrome 和 FF 中没有问题。它是这样工作的:

var tempCSV = json2CSV(geojson);
var csv = "text/csv;charset=utf-8," + encodeURIComponent(tempCSV);
$('#downloadCSV').attr('href', "data:" + csv);

由于 IE 不像其他人那样做事,我使用 msSaveBlob像这样处理它:

if (navigator.msSaveBlob) {
var blobCSV = new Blob([tempCSV]);
$('#downloadCSV').click(function (e) {
navigator.msSaveBlob(blobCSV, "geo.csv");
e.preventDefault();
});

它适用于 CSV 和 KML 文件。但不是 geoJSON。我收到此行的错误:

var blobGeoJSON = new Blob([tempGeoJSON]);

我得到这个错误:“InvalidStateError”

问题可能来自哪里?

最佳答案

好吧,终于在再次阅读我的代码后,我发现了问题。

在使用它创建 blob 之前,您必须对 json 进行字符串化,如下所示:

var tempGeoJSON = JSON.stringify(geojson);

而不是这个:

var tempGeoJSON = geojson;

关于javascript - IE 中 json 文件的 msSaveBlob 的 InvalidStateError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35294508/

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