0
您好JavaScript的大師,Safari瀏覽器9的XMLHttpRequest的Blob文件下載
我需要使用XMLHttpRequest的文件下載功能(具有的responseType = 「斑點」),在Safari瀏覽器9+工作。
在我使用FileSaver.js這樣的時刻:
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
// using FileSaver.js to save blob
saveAs(xhr.response, filename);
// notify download finished, resolve promise
defer.resolve(true);
}
};
xhr.send();
這適用於所有的主流瀏覽器不錯,但不是在Safari瀏覽器的最新版本(9.x中)。 我會得到一個「無法加載資源:幀加載中斷」。通常下載是一個zip文件,但我也嘗試設置「application/octet-stream」。
我有一個要求:我需要知道什麼時候在客戶端完成下載,所以使用iframe是沒有選擇的(我猜)。
我很感激任何提示如何使用XHR(無Flash)在Safari中下載文件。
謝謝, 克里斯
洛爾(幾乎IE6) –