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

Safari - data export/html download attribute not working

本文关键字:下载 属性 工作 html 数据 Safari      更新时间:2023-09-26

我的应用程序允许用户将geojson导出为。json文件…下载在Chrome和Firefox中工作得很好,但在Safari中,用户被定向到一个带有data:text/ + GEOJSON STRING的url,并且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();
};

因此,而不是触发href datasStr的下载,因为它在其他浏览器中,Safari将href属性作为链接到的url。

有什么方法可以让我在Chrome, Firefox和Safari中正常运行?

请查看w3schools.com

正如您所看到的,您使用的一定是低于10.1的Safari版本,对吗?如果是这样的话,我建议你更新你的浏览器,或者切换到Chrome、Firefox或Opera。

safari中任何低于10.1的版本都不支持HTML5属性/标签,这就是为什么一些网站需要更新浏览器的原因。