1
以下腳本在瀏覽器中創建json文件並自動將其保存到磁盤。將從瀏覽器創建的文件保存到磁盤 - 無法在FireFox上使用新文件()
它工作正常Chrome 50.0.2661.87
米,但它不起作用在FF 47.0a2
(雖然沒有錯誤拋出)。
問題似乎涉及到(因爲如果你把它註釋掉作品):
window.URL.revokeObjectURL(link.href);
什麼是對FF這種行爲的原因是什麼?我應該省略window.URL.revokeObjectURL()嗎?
注意:它應該適用於最新的瀏覽器Chrome和FireFox。
var saveDataToFile = function(data, fileName, properties) {
window.URL = window.URL || window.webkitURL;
var file = new File(data, fileName, properties),
link = document.createElement('a');
link.href = window.URL.createObjectURL(file);
link.download = fileName;
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(link.href);// possible problem here
document.body.removeChild(link)
};
var fileName = 'test.json',
properties = {
type: 'octet/stream'
},
data = [JSON.stringify({
test: 'hello'
})];
saveDataToFile(data, fileName, properties);
感謝分享,問題只發生在FF而不是Chrome上。任何想法爲什麼? – GibboK
@GibboK,只是不同的下載實現。 – Qwertiy