2016-08-14 45 views
0

我的应用程序允许用户将GeoJSONs导出为.json文件...在Chrome和Firefox中下载工作正常,但在Safari中,用户被导向至data:text/ + GEOJSON STRING并且GeoJSON的文本呈现在页面上 - 完全没有下载。Safari - 数据导出/ html下载属性不起作用

$('#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(); 
}; 

因此而不是触发下载的hrefdatasStr,因为它在其他浏览器的确,Safari浏览器对待href属性作为URL链接。

任何我可以在Chrome,Firefox和Safari上正常运行的方式?

+0

尝试filesaver.js“库” –

+0

请参阅http://stackoverflow.com/questions/38711803/how-to-download-a-file-without-using-a-element-with-download-attribute-or -a-SE – guest271314

回答

-2

请看w3schools.com

正如你所看到的,你必须使用一个版本的Safari也就是10.1下,是否正确?是的,我建议您更新浏览器,或切换到Chrome,Firefox或Opera。

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