美文网首页
图片HTTP请求的各种情况

图片HTTP请求的各种情况

作者: sarah_wqq | 来源:发表于2019-01-10 17:08 被阅读0次

    1. 隐藏图片

    <img src="https://www.baidu.com/img/baidu_jgylogo3.gif" style="display: none" />
    <img src="https://www.baidu.com/img/bd_logo1.png" style="visibility: hidden;" />
    

    Chrome, Firefox, IE 11+, Edge 均会产生请求

    2. 重复图片

    <img src="https://www.baidu.com/img/bd_logo1.png" />  
    <img src="https://www.baidu.com/img/bd_logo1.png" />  
    

    所有浏览器都只产生一次请求 。

    3. 重复背景

    (1)

    <style type="text/css">
    .div1{ background: url('https://www.baidu.com/img/baidu_jgylogo3.gif') }
    .div2{ background: url('https://www.baidu.com/img/baidu_jgylogo3.gif') }
    </style>
    <div class="div1">div1</div>
    <div class="div2">div2</div>
    

    所有浏览器都只产生一次请求。

    (2)

    <style type="text/css">
    .div1{ background: url('https://www.baidu.com/img/baidu_jgylogo3.gif') }
    .div1{ background: url('https://www.baidu.com/img/bd_logo1.png') }
    </style>
    <div class="div1">div1</div>
    

    上一个被覆盖了,只请求第二个

    4. 不存在的元素的背景

    <style type="text/css">
    .div1{ background: url('https://www.baidu.com/img/baidu_jgylogo3.gif') }
    .div2{ background: url('https://www.baidu.com/img/bd_logo1.png') }   //div2不存在
    </style>
    <div class="div1">div1</div>
    

    不存在的元素不产生图片请求

    5. hover的背景加载

    <style type="text/css">
    a.text{ background: url('https://www.baidu.com/img/baidu_jgylogo3.gif')}
    a.text:hover{ background: url('https://www.baidu.com/img/bd_logo1.png')}
    </style>
    <a href="#" class="text">text</a>
    

    触发hover时,才会请求hover状态下的背景。不触发的话,只请求默认的背景图片。

    6. 图片预加载

    在Javascript 中加载图片

    <script type="text/javascript">
    var a = new Image();
    a.src="https://www.baidu.com/img/baidu_jgylogo3.gif"
    </script>
    

    执行到的时候发出请求

    总结

    src属性引入的图片都会被加载
    重复图片只加载一次
    Opera浏览器有例外

    相关文章

      网友评论

          本文标题:图片HTTP请求的各种情况

          本文链接:https://www.haomeiwen.com/subject/etgarqtx.html