Safari - 数据导出/ html下载属性不起作用

时间:2016-08-14 04:50:46

标签: javascript safari

我的应用程序允许用户将GeoJSONs导出为.json文件...下载在Chrome和Firefox中运行正常,但在Safari中,用户将被定向到包含data:text/ + GEOJSON STRING的网址和GeoJSON的文本在页面上呈现 - 根本没有下载。

$('#export_table > tbody > tr > td').each(function(){
    geoObject = JSON.parse($(this).html());
    layerName = geoObject.name;
    exportRowToGeoJSON($(this).html(), layerName);
});

function exportRowToGeoJSON(storageObj, fileName){
    dataStr = "data:text/json;charset=utf-8," + encodeURIComponent(storageObj);
    link = document.createElement('a');
    link = document.body.appendChild(link); //FOR FIREFOX
    link.setAttribute("href", dataStr);
    link.setAttribute("download", fileName + ".json");
    link.click();
};

因此,Safari不会像在其他浏览器中那样触发href datasStr的下载,而是将href属性视为要链接的网址。

我可以通过Chrome,Firefox和Safari正常运行吗?

1 个答案:

答案 0 :(得分:-2)

请查看w3schools.com

如您所见,您必须使用10.1以下的Safari版本,对吗?是这样,我建议您更新浏览器,或切换到Chrome,Firefox或Opera。

Safari中任何低于10.1的版本都不支持HTML5属性/标记,这就是某些网站需要和更新浏览器的原因。