被测图片的http请求
对于隐藏图片和隐藏元素的背景,Opera不生成请求;对于隐藏元素背景,Firefox不生成请求。对于图像请求处理,个人觉得歌剧是最前沿的。感兴趣的朋友可以理解这篇文章。请打开测试页面在主流浏览器看看小提琴的HTTP请求。
1。隐藏图片
测试:test_1.html
结论:只有Opera没有产生请求。
注意:当使用可见性:隐藏以隐藏图片时,将在Opera下生成请求。
2。重复图片
测试:test_2.html
结论:所有浏览器只有一个请求。
三.重复的背景
test1test2测试:test_3.html
结论:所有浏览器只有一个请求。
4。不存在元素的背景
试验测试:test_4.html
结论:背景只在页面中应用元素存在时产生请求,这对于CSS框架是非常有意义的。
5。隐藏元素的背景
试验测试:test_5.html
结论:Opera和Firefox不生成隐藏在显示元素的背景中的HTTP请求:没有。只有当这些元素不显示时,才会要求背景图片。
6。多重背景
试验测试:test_6.html
结论:除了基于WebKit渲染引擎和浏览器Safari浏览器,其他浏览器将只要求一个背景图。
注:WebKit引擎的浏览器请求的背景图,因为它支持多个背景图的CSS3。
7。在后台加载
试验测试:test_7.html
结论:当悬停被触发时,会要求悬停状态的背景,这会引起闪烁,这通常是通过背景图片旋转来实现的。
注意:在图片没有缓存的情况下,当IE状态在悬停时每次更改时都会产生一个新的请求。
2009-05-13后来说:上面的解释是错误的,请参考更详细的解释。倒装技术指的是精灵的技术,例如:test_7b.html,不闪烁在IE6。
图片8。JS innerHTML
测试:test_8.html
结论:只有Opera没有立即要求图片。
注意:Opera在添加到DOM树时发送请求。
9。图片加载
最常用的是js方案:
复制代码代码如下所示:
在没有js支持的环境中,可以使用隐藏元素预加载:
测试:test_9.html
最后是一个总结。
1。Opera不产生对隐藏元素和隐藏元素的背景的请求。
2。对于隐藏元素的背景,Firefox不生成请求。
三.对于img元素还没有被插入到DOM树,歌剧不产生一个请求。
4。基于WebKit引擎支持多个背景图和浏览器Safari。
5。其他场景,所有主流浏览器都是一致的。
在图片要求的处理上,我觉得歌剧是最前沿的。
番外
1。当监测歌剧与Fiddler,如果是本地服务器,你需要检查本地服务器在歌剧中的代理服务器设置。
2。查看HTTP请求的数量,就直接去看apache的access.log文件的好方法。
三.我的Firefox会重复请求图像复制和后台复制。所有扩展都被禁用,问题依然存在。那些知道细节的人也会被告知。