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

Javascript Safari-数据导出/html下载属性不工作,javascript,safari,Javascript,Safari,我的应用程序允许用户将GeoJSON导出为.json文件。。。在Chrome和Firefox中下载效果很好,但在Safari中,用户被引导到一个带有数据:text/+GEOJSON字符串的url,GEOJSON的文本被呈现在页面上-根本没有下载 $('#export_table > tbody > tr > td').each(function(){ geoObject = JSON.parse($(this).html()); layerName = geoO

我的应用程序允许用户将GeoJSON导出为.json文件。。。在Chrome和Firefox中下载效果很好,但在Safari中,用户被引导到一个带有
数据:text/+GEOJSON字符串的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();
};
因此,Safari没有像在其他浏览器中那样触发下载
href
datastr
,而是将
href
属性视为链接到的url

有什么方法可以让它在Chrome、Firefox和Safari上正常运行吗?

请查看

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

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

尝试filesaver.js“library”,请参阅