我使用以下代码在 JavaScript 中保存文件:
var a = document.createElement('a');
a.href = URL.createObjectURL(new Blob(['SOME DATA']));
a.download = 'some.dat';
a.click();
我想在文件下载后撤销 URL(使用 URL.revokeObjectURL)。什么时候这样做才安全?
打电话后可以立即撤销吗a.click()
(这似乎有效,但我不确定它是否安全)?在a
的点击事件监听器?有没有办法让点击事件侦听器运行after默认操作?
a.click()
在 DOM 元素上模拟单击该元素,而不是传播单击事件,因此它会直接发送到浏览器。我相信使用计时器将 URL 对象的撤销移至另一个事件周期会更安全一些:
setTimeout(function() {
URL.revokeObjectURL(a.href);
}, 0);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)