表到 CSV 而不使用下载属性,因为它在 Safari 浏览器上不受支持

Table to CSV without using download attribute as it is not supported on Safari browser

本文关键字:Safari 浏览器 支持 因为 CSV 属性 下载 表到      更新时间:2023-09-26

我正在尝试使用JQuery将HTML表格导出为CSV。我能够使用以下代码将数据导出为CSV,在所有浏览器中成功,但无法在Safari(5.1.2)浏览器中导出。

我尝试使用下载属性,但知道 Safari 浏览器不支持下载属性。

如果有解决方法,请告诉我?

var usersCSVData = [];
usersCSVData.push('LastName ','FirstName ', 'Login ','City ','State','Location ');  
 var fileName = "UserCSVdata.csv";
 var buffer = usersCSVData.join("'n");
 var blob = new Blob([buffer], {
                    "type": "text/csv;charset=utf8;"
                });

         if (navigator.msSaveBlob) { // IE 10+
                navigator.msSaveBlob(blob, fileName);
            }
         else {
             var link = document.createElement("a");
             if (link.download !== undefined) {
                 var url = URL.createObjectURL(blob);
                 link.setAttribute("href", url);
                 link.setAttribute("download", fileName);
                 link.style = "visibility:hidden";
                 document.body.appendChild(link);
                 link.click();
                 document.body.removeChild(link);
             }
            }

我认为这个JavaScript库可能是你需要的解决方案:

https://github.com/eligrey/FileSaver.js

您还需要 Safari <6.1 的 blob.js依赖项