• 测试img在不显示时是否加载?


    一直搞不明白,隐藏的元素的背景图,在页面加载时,是否自动加载?

    img隐藏时,图片会加载吗?

    测试代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<title>img load</title>
    	<style>
    	.divImg {background:url(cssImg1.jpg);}
    	.divImg {background:url(cssImg2.jpg);}
    	.divNullImg {background:url(cssNullImg.jpg);}
    	.divImgNone {display:none;}
    	.divImgNone {background:url(cssNoneImg1.jpg);}
    	.divImgNone div {background:url(cssNoneImg2.jpg);}
    	#divNone {background:url(cssNoneImg3.jpg);}
    	.divHoverImg:hover {background:url(cssHoverImg1.jpg);}
    	</style>
    	</head>	
    <body>
    
    <img src="img.jpg" />
    <img src="cssImg2.jpg" />
    <img src="ImgNone.jpg" style="display:none;" />
    
    <div id="divNone" style="display:none; background:url(divNoneBack1.jpg);">
    <img src="divNoneImg1.jpg" />
    <div style="background:url(divNoneBack2.jpg);"></div>
    </div>
    <input type="button" value="显示隐藏" onclick="document.getElementById('divNone').style.display = 'block';" />
    
    <div class="divImg">
    img
    </div>
    
    <div class="divImgNone">
    <img src="divNoneImg2.jpg" />
    img none
    <div></div>
    <div style="background:url(divNoneBack3.jpg);"></div>
    </div>
    
    <div class="divHoverImg">
    test Hover
    </div>
    
    <script>
    var img = new Image();
    img.src = 'jsImg.jpg';
    document.getElementById('divNone').style.backgroundImage = 'url(jsNoneImg.jpg)';
    </script>
    
    </body>
    </html>
    

    测试了chrome33 和 IE7 使用Fiddler 监控

    测试结果如下:

    结果很复杂,IE和chrome下hover样式的背景图,只有鼠标悬浮时才加载。chrome下隐藏的背景不加载,IE下隐藏的背景要加载。

    结论chrome:
    • 隐藏的元素及其包含的背景图不会加载(样式隐藏元素的当前背景会加载)。
    • hover的背景图不会加载,当hover时才加载。
    • 隐藏的img或img在隐藏的元素内也会加载。
    • 没有匹配的样式中,包含的背景不会显示。
    • 使用JS给隐藏的元素设置背景图时,会加载背景图。
    结论IE:
    • hover的背景图不会加载,当hover时才加载。
    • 没有匹配的样式中,包含的背景不会显示。 
  • 相关阅读:
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    ASP.NET Core
    通用查询设计思想(2)- 基于ADO.Net的设计
    API接口通讯参数规范(2)
    Centos7 安装selenium(python3.7 centos7 )
    mysql (create temporary table table_name )临时表创建
    C# 字符串 String、StringBuffer和StringBuilder的区别
    安装Elasticsearch
  • 原文地址:https://www.cnblogs.com/zjfree/p/3732431.html
Copyright © 2020-2023  润新知