javascript - 如何防止两次加载相同的图像

标签 javascript background-image

这些代码很好。它加载图像以计算尺寸,然后添加到新的图像标签中。

var img = new Image();
var box = $('picBox');

img.onload = function() {
    var w = this.width;
    var h = this.height;    
    box.appendChild(img);       
};
img.src = image_url;

但在下面的例程中,似乎同一张图片被加载了两次。一次用于计算尺寸,另一次用于设置背景图像。有没有办法像上面那样做。提前致谢。

var img = new Image();
var box = $('picBox');

img.onload = function() {
    var w = this.width;
    var h = this.height;    
    box.setStyle('background-image', 'url('+image_url+')');
};
img.src = image_url;

最佳答案

第二次它将从浏览器缓存中加载它,因此您不必担心。 您可以在 firebug 中打开网络检查器来嗅探所有正在发送的请求,您将看到它第二次返回该图像的“未修改” header 。

关于javascript - 如何防止两次加载相同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21717317/

相关文章:

javascript - 如何动态指定剑道饼图的系列颜色

javascript - 如果引荐来源网址与目的地匹配则重定向

Canvas 的 Javascript 像素操作,模糊过滤器不起作用

javascript - HTML 按钮在 Javascript 文本字段中添加数字

html - CSS Sprite 中的 `background-position` 使用负值

javascript - highcharts堆积百分比柱状图可以小于100%吗

css - 如何将 CSS 滤镜应用于背景图像

html - 具有不同 z-index 的同一 css 类中的多个背景图像

css - 使用 CSS3 缩放背景图像

css - 背景图像以调整大小为中心,保持比例