2016-08-14 69 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屬性/標籤,這就是爲什麼有些網站需要和更新瀏覽器。