gpt4 book ai didi

Javascript 到 CSV 函数与 IE 或 Firefox 不兼容

转载 作者:行者123 更新时间:2023-12-03 08:30:40 25 4
gpt4 key购买 nike

我有一个使用 javascript 将数据转换为 csv 的函数。这是我的Fiddle 。然而,这在 Firefox 或 Internet Explorer 中不起作用。我尝试过调试,但我不确定要寻找什么或在哪里,并且没有任何清晰的内容。感谢任何帮助。谢谢

 <body>

<a href='#' onclick='downloadCSV({ filename: "stock-data.csv" });'>Download CSV</a>

</body>

var stockData = [
{
Symbol: "AAPL",
Company: "Apple Inc.",
Price: "132.54"
},
{
Symbol: "INTC",
Company: "Intel Corporation",
Price: "33.45"
},
{
Symbol: "GOOG",
Company: "Google Inc",
Price: "554.52"
}
];

function convertArrayOfObjectsToCSV(args) {
var result, ctr, keys, columnDelimiter, lineDelimiter, data;

data = args.data || null;
if (data == null || !data.length) {
return null;
}

columnDelimiter = args.columnDelimiter || ',';
lineDelimiter = args.lineDelimiter || '\n';

keys = Object.keys(data[0]);

result = '';
result += keys.join(columnDelimiter);
result += lineDelimiter;

data.forEach(function(item) {
ctr = 0;
keys.forEach(function(key) {
if (ctr > 0) result += columnDelimiter;

result += item[key];
ctr++;
});
result += lineDelimiter;
});

return result;
}

window.downloadCSV = function(args) {
var data, filename, link;

var csv = convertArrayOfObjectsToCSV({
data: stockData
});
if (csv == null) return;

filename = args.filename || 'export.csv';

if (!csv.match(/^data:text\/csv/i)) {
csv = 'data:text/csv;charset=utf-8,' + csv;
}
data = encodeURI(csv);

link = document.createElement('a');
link.setAttribute('href', data);
link.setAttribute('download', filename);
link.click();
};

最佳答案

要在 Firefox 和 ie 中下载,您必须在单击之前将其附加到正文中。尝试添加这个。

link.style.display = 'none';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);

这是一个fiddle .

关于Javascript 到 CSV 函数与 IE 或 Firefox 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33351845/

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