• 预加载 img 的方式。


    原生方式:

    var img = new Image();
    
    img.onerror = function() {
        alert('img error');
    };
    
    img.onload = function() {
        img.onerror = img.onload = null;
        alert('img loaded');
    };
    
    img.src = 'http://s1.bdstatic.com/r/www/cache/static/global/img/icons_1529edac.png';

    jQuery:

    var $img = $('');
    $img.one('error', function(){
        alert('jquery img error');
    });
    $img.one('load', function(){
        alert('jquery img loaded');
    });
    $img.attr('src', 'http://s1.bdstatic.com/r/www/cache/static/global/img/icons_1529edac22.png');

    如果要判断这个图片已经加载过的,可以用 img.complete, 如果为 true,加载完毕;false 未加载。

    但是 在 IE9 IE8 IE7 IE6 下,如果 只用(new Image()).src = 'xxx.jpg',而并没有把 img appendTo body 里,图片就算加载完毕,但 img.complete 始终为 false, 而chrome 和 firefox 不需要 appendTo body,图片加载完以后 img.complete 为true。

    而在 IE 和 chrome FF 下,img 就算没有 appendTo body, fiddler 抓包 图片也是 304 Not Modified,说明图片有总是有被加载。

  • 相关阅读:
    oracle锁---原理篇
    SML + NL + HJ
    Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
    oracle 一致读原理
    commit 流程
    IMPDP NETWORK_LINK参数
    WINDOWS访问虚拟机RedHat搭配的Apache2服务器
    初识malloc函数
    好吧,又失眠
    休息一天
  • 原文地址:https://www.cnblogs.com/zhengming2016/p/5551505.html
Copyright © 2020-2023  润新知