我的应用程序允许用户将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
属性视为要链接的URL .
我可以通过Chrome,Firefox和Safari在任何方面正常运行吗?
1 回答
请看w3schools.com
如您所见,您必须使用10.1以下的Safari版本,对吗?是这样,我建议您更新浏览器,或切换到Chrome,Firefox或Opera .
Safari中任何低于10.1的版本都不支持HTML5属性/标记,这就是某些网站需要和更新浏览器的原因 .