XMLHttpRequest 加载进度

XMLHttpRequest 相关资料请移步这里直接查看,我这里就不在赘述:

https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest

------------------------------------------------本文开始------------------------------------------

前端经常会使用js 来预加载图片,通常代码也如下

img=new Image();
if(img.complete){}; //缓存
img.onload = function (){}; //加载完毕
img.onerror= function (){}

img.src = "url";

但是在监听单张图片的进度却无能为力,而且加载其他类型的文件也非常有局限性。

所以:

XMLHttpRequest 几乎可以用来加载任何文件。单个文件的加载进度可以使用以下代码监听。(古董浏览器看看就好了)

var rq = new XMLHttpRequest(); 		

rq.onprogress=function(e)
{
	 if (e.lengthComputable) //进度信息是否可用
	 {
		console.log(e.loaded + " of " + e.total + " bytes");
	 }
}

注意:我们预加载资源当然是希望他先缓存到本地浏览器。以上代码也没有任何问题。但是如果你使用了CDN加速,那么在资源加载成功后,一定要将它作为DOM元素添加到html body中(插入再移除只要让他在HTML中出现以下就能被CDN缓存了)

警告: 不能在本地代码中使用. 也不应该在同步模式的请求中使用.

时间: 2024-07-29 00:26:29

XMLHttpRequest 加载进度的相关文章

HTML5文件加载进度管理

/** * 文件加载进度管理 */ DownloadUtils = function(options){ options = options || {}; this.init(options); }; DownloadUtils.prototype = { init:function(options){ var _this = this; this.url = options.url; var xhr = new XMLHttpRequest(); xhr.open("get", th

简单的ajax遮罩层(加载进度圈)cvi_busy_lib.js

cvi_busy_lib.js: cvi_busy_lib.js 是一个基于ajax的遮罩js,遮罩区域为body区域.使用比较简单. 效果: 在下面的Js代码,标注为红色标记为需要设置的参数. 1.getBusyOverlay(id, overlay, busy) 为遮罩层的方法, id:需要写viewport,详情请看Js内部. overlay:主要是遮罩层的样式,遮罩层显示字体的样式. busy:加载进度圈的样式. 2.xval.settext("正在登录,请稍后......")

js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面

js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面 , 做手机端开发时,发现一个问题,有些浏览器,在网速比较慢的情况下,js文件没有加载完,后续的调用已经开始调用了,导致出错.后来使用此法,保证了任何时候都完全是按照js的先后顺序执行的. 源码: /** * js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面 * 原理:利用 ajax 异步多线程快速加载, 每个文件加载完成后存入到加载完成数组中, * 显示到页面时完全按传入的顺

Html5游戏之KiwiJs(4)-资源加载进度

Kiwi.js中资源的加载是在Kiwi.State.preload方法中进行的,而关于加载进度State中有另外一个方法loadProgress来实现,所以要实现进度百分比显示,只需要重写loadProgress方法即可. 下面是Kiwi.js的loadProgress的API说明 重写loadProgress方法 loading.loadProgress = function(percent, bytesLoaded, file){ Kiwi.State.prototype.loadProgr

网页加载进度条的实现

本次主要介绍一下网页加载进度的实现.如下图,在页面加载的时候,上方红色的进度条 网页加载进度的好处是能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程.但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果. 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小.所以我们无法通过数据大小来实现0-100%的加载显示过程. 因此我

给WebView添加漂亮的加载进度条

为了增强用户体验,所有在WebView头部给加了个进度条,看起来不错哦. 布局XMl:activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent&q

【css系列】创建网页加载进度条

一.最简单或者明显的方式是使用定时器 1.在网页中加入布局覆盖真实网页内容 2.使用定时器确定加载所用时间的长短,其实并不是真正的加载进度实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>定时器的进度条</title> <script src="../js/jquery-3.2.1.j

网站顶部显示预加载进度条preload.js

网站加载的速度快的话,不会显示进度条加载时候的样式. 支持性主流浏览器都支持,ie浏览器需要9以上9也支持. 使用方法 <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="js/preload.js"></script> <script type="text/javascript">

【Web前沿技术】纯 CSS3 打造的10个精美加载进度条动画

之前向大家介绍8款优秀的 jQuery 加载动画和进度条插件,今天这篇文章向大家推荐10个纯 CSS3 代码实现精美加载进度条动画效果的方案.加载动画和进度条在网站和 Web 应用中的使用非常流行,特别是在使用 Ajax 技术加载内容的应用场景中,使用时尚的加载动画和进度条告诉用户内容正在加载中是一种非常友好的方式. 您可能感兴趣的相关文章 20个非常绚丽的 CSS3 特性应用演示 23个纯 CSS3 打造的精美LOGO图案 35个让人惊讶的 CSS3 动画效果演示 推荐12个漂亮的 CSS3