如何判断rel属性为preload的预加载链接资源是否已加载完成?
如何判断rel属性为preload的预加载链接资源是否已加载完成?
我最近碰到个困扰:我可以给preload类型的链接绑定load事件监听器,但如果对应的资源已经加载完成了,这个事件就压根不会触发。有没有什么办法能提前检查这类资源是否已经加载完毕呢?
我知道对于图片元素来说,有个.complete属性能完美解决这个判断问题;对于<link rel="stylesheet">标签,也可以通过.sheet属性来确认它是否加载完成,但翻了好多资料,都没找到针对preload链接的类似判断属性。
为什么会纠结这个问题?
现在有个现代(但写法确实有点繁琐)的异步加载样式表的方案,代码是这样的:
<link rel="preload" href="async.css" as="style" onload="this.rel='stylesheet'">
这种方式确实能实现异步加载样式表的效果,但内联的事件处理器写在标签里,看起来特别不优雅。可我一直找不到替代方案,因为load事件不会冒泡,而且我没办法提前知道这个预加载的资源是不是已经加载完成了。
备注:内容来源于stack exchange,提问作者eloyesp
相关产品推荐
相关产品推荐

