同时出于同源策略的原因,我们不能使用ajax的形式去下载第三方资源,因为通常的下载服务都不会做cors处理的,比竟iframe下载或者新页签下载的方式是不受同源策略影响的,所以无需做cors处理。这大大限制了ajax下载的适用度。
总结:最后我们再总结一下ajax下载的使用场景:
1.需求对下载进度的进行监控的场景,比如发现用户下载进度过慢,主动提供其他解决方案。
2.需要下载完成后触发特定事件,例如弹出一个桌面提示Notification。
3.需要提供一个后台下载。例如我们可以在用户打开网页后将附件偷偷地下载下来再缓存起来,等到用户真的想下载附件时候直接保存在本地。我们甚至可以借助worker创建一个后台线程,从而还能保证下载过程不会影响页面正常渲染。
4.需要下载后不保存在硬盘中,而是webapp直接处理附件。例如 pdf.js ,就是采用的ajax下载。
最后奉上笔者的一个ajax下载的demo: https://github.com/laden666666/ajaxDownloadDemo
分享给小伙伴们:
本文标签: Blod,ajax,进度条/">Blod,ajax,进度条
相关文章
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。
本类最热新闻