欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

Pace.js的原理是怎么样的?

程序员文章站 2022-04-11 08:15:05
...
PACE — Automatic page load progress bars

回复内容:

泻药
没用过
不过他有开源的
你可以看具体怎么实现的么
扫听一眼
基本上是几种中方案的混合

1、document.onreadystatechange
该事件读 document.readyState 字符串
{ loading: 0, interactive: 50, complete: 100 }
分别给出写死的进度值

2、如果支持 ProgressEvent 事件
监听 progress 事件 evt.loaded / evt.total 得出进度

3、onreadystatechange 事件
读取 readyState 字符串
{‘0’: 100, ‘3’:50, ‘4’:100}
分别给出写死的进度值

然后覆盖
window.XMLHttpRequest
window.XDomainRequest
window.WebSocket
方法
变为包装方法
内部调用原始方法
外层加入调用这些发方法时候监听进度
得到值进行动画等处理