名为
mega.com的文件共享网站具有创建自定义下载管理器的功能.当您下载文件时,它会在网站上显示一个自定义进度条(大概将文件加载到缓存),然后为缓存文件创建一个下载提示.这将如何用JavaScript生成?
解决方法
据我所知,Mega.com使用这个内部下载管理器,因为他们以加密的形式在他们的服务器上存储数据;加密和解密在浏览器中进行.
存储
您可以使用IndexedDB存储二进制数据.这是一个tutorial from Mozilla,解释如何使用AJAX下载图像并将其保存在IndexedDB中.
当您将数据存储在IndexedDB中时,您应该有机会下载它(从内部浏览器存储). Here you can read,如何创建下载提示.
进度条
使用XMLHttpRequest时,可以通过提供进度事件的处理程序来获取下载进度.
var oReq = new XMLHttpRequest(); oReq.addEventListener("progress",updateProgress,false); [...] function updateProgress (oEvent) { if (oEvent.lengthComputable) { var percentComplete = oEvent.loaded / oEvent.total; // ... } else { // Unable to compute progress information since the total size is unkNown } }
原文地址:https://www.jb51.cc/js/152637.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。