我构建了一个脚本,用数据URI替换所有内嵌图像,以减少http请求并减少移动设备上的加载时间。
不幸的是我的装载速度较慢。我认为这取决于html文件更大(大约100kb而不是大约5 kb):)?或者还有其他一些数据URI会降低页面加载速度吗?
浏览器必须先完整下载完整文档才可加载其中的喜欢的来源吗?或者在浏览器完成整个文档之前加载链接的源,例如文档顶部的css和javascript?
它如何与CSS一起使用?浏览器必须在读取所有CSS设置之前加载完整的CSS文件吗?
如果是这样,最好是为这样的数据创建一个单独的CSS文件:
“单独的chaced jpg文件”加载速度是否比“缓存的css文件中包含的基于URI的图像”更快?
有关如何使用数据URI的任何其他建议吗?
答案 0 :(得分:4)
mobify.com 发布了一篇博文:On Mobile, Data URIs are 6x Slower than Source Linking (New Research)
[...]
因此,您可以想象我惊讶地发现,在衡量数十万个移动网页浏览量的效果时,使用数据URI加载图片的平均值比使用二进制源链接(例如带有img
属性的src
代码!
我没有深入研究这篇文章,但我想部分问题可能是解码base64编码数据URI所需的CPU能力。
作者建议仅“不经常使用小图像”数据URI。
答案 1 :(得分:1)
HTML内容按照它们出现在HTML文件中的顺序加载。 大尺寸的数据URI会降低页面的速度。 IE浏览器(IE6)不支持大数据URI。
建议图像大小小于20KB的数据URI&通常使用。
您可以选择图像压缩,js,css压缩来增加页面速度。