表格为CSV而不使用下载属性,因为Safari浏览器不支持

时间:2014-12-10 18:39:54

标签: javascript jquery html csv safari

我正在尝试使用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);
             }
            }

1 个答案:

答案 0 :(得分:0)

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

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

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