我已查看了很多主题,但找不到适用于当前chrome& IE ...
我想下载一个文件(来自与该页面相同的域,没有CORS问题)并将其保存在本地,我还需要在下载完成后进行回调以关闭我的下载&#39 ;通知。
我尝试使用隐藏的iframe:
// to download a file we don't want to use window.location.assign because in case of error the broswer
// will redirect to the error page, instead we create an invisible iframe and set src to it
function downloadToFile(url, done) {
const iframe = document.createElement('iframe');
iframe.style.display = 'none';
document.body.appendChild(iframe);
iframe.setAttribute('src', url);
if (done) {
const doc = iframe.contentDocument || iframe.contentWindow.document;
const inter = setInterval(() => {
if (doc.readyState === "complete") {
clearInterval(inter);
done();
}
}, 50);
}
}
但是这不起作用 - Chrome似乎将iframe的readyState设置为'当文件仍在加载时,立即调用完成。
如何实现这一目标?
(我还试图勾选一个'加载'事件,但它似乎没有在chrome中调用,标准说没有iframe事件得到保证)。