将网站放在服务器后,因为服务器带宽问题,才发现很多资源比如图片、音频在网站打开后1分钟还没有加载,导致无法播放。所以说我决定使用js在最开头加一个判断资源是否加载完成的函数并运行,只有资源全加载完成了才能进入主页面。
在网上查了很多都是说用onload,但是这只能判断文档dom树是否解析完成,但是音频、图片等等资源加载完成没是无法判断的。
下面我将来一一分享我的方案。
1,判断音频/视频是否加载完成
音频,视频元素分别是<audio>、<video>,这两个元素都有readyState属性表示其是否加载完成,我们可以获取其属性值,其属性值对应意义如下:
值 | 意义 |
0 | HAVE_NOTHING - 没有关于音频/视频是否就绪的信息 |
1 | HAVE_METADATA - 关于音频/视频就绪的元数据 |
2 | HAVE_CURRENT_DATA - 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒</ |