JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了自定义下载管理器javascript大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
名为 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.@R_504_10586@l;
    // ...
  } else {
    // Unable to compute progress information since the @R_504_10586@l size is unknown
  }
}

如果服务器没有发送带有头文件的Content-Length,文件的总大小将不可用.

Full source code and description on MDN.

大佬总结

以上是大佬教程为你收集整理的自定义下载管理器javascript全部内容,希望文章能够帮你解决自定义下载管理器javascript所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。