Image():强制让图片缓存起来

Image 对象

Image 对象表明嵌入的图像。javascript

  • <img> 标签每出现一次,一个 Image 对象就会被建立。
  • 建立一个Image对象:var a=new Image();    定义Image对象的src: a.src=”xxx.jpg”;    这样作就至关于给浏览器缓存了一张图片。

对于浏览器载入图像来讲,只有在对图像发送一个 HTTP请求以后,它们才会被浏览器载入,对图像的 HTTP 请求要么使用 <img> 标记,要么经过方法调用实现。若是使用 JavaScript 脚原本处理在 mouseover 事件时交换图像,或者在一段时间以后自动更改图像,那么在从服务器获取图像时可能要等上几秒钟到几分钟的时间。若是使用一个慢速的 Internet 链接,或者要获取的图像很是大,或者其它一些状况,这种现象就特别明显;这样,延迟就形成你不能达到本身指望的效果。 预载入是在须要图像以前将其下载到缓存的一种方法。经过这一措施,当真正须要图像时,它就能够被当即从缓存中取出,从而可以当即显示。html

示例:java

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Image</title>
    <script language = "JavaScript"> 
        function preloader() 
        { 
            var heavyImage = new Image(); 
            heavyImage.src = "3.jpg"; 
        } 
    </script> 
</head>
<body onLoad="javascript:preloader()"> 
    <a href="#" onMouseOver="javascript:document.img2.src='3.jpg'"> 
        <img name="img2" src="2.jpg">
    </a> 
</body> 
</html>

请注意,图像标记自己不能处理 onMouseOver() 和 onMouseOut() 事件,这就是上例中<img> 标记被包含在一个<a> 标记之中的缘由,<a> 标记支持这两个事件类型。 浏览器

如图,所需的图片都已经加载。缓存

Image 对象的属性服务器

属性 描述
align 设置或返回与内联内容的对齐方式。
alt 设置或返回没法显示图像时的替代文本。
border 设置或返回图像周围的边框。
complete 返回浏览器是否已完成对图像的加载。
height 设置或返回图像的高度。
hspace 设置或返回图像左侧和右侧的空白。
id 设置或返回图像的 id。
isMap 返回图像是不是服务器端的图像映射。
longDesc 设置或返回指向包含图像描述的文档的 URL。
lowsrc 设置或返回指向图像的低分辨率版本的 URL。
name 设置或返回图像的名称。
src 设置或返回图像的 URL。
useMap 设置或返回客户端图像映射的 usemap 属性的值。
vspace 设置或返回图像的顶部和底部的空白。
width 设置或返回图像的宽度。

标准属性spa

属性 描述
className 设置或返回元素的 class 属性。
title 设置或返回元素的 title。

Image 对象的事件句柄code

事件句柄 描述
onabort 当用户放弃图像的装载时调用的事件句柄。
onerror 在装载图像的过程当中发生错误时调用的事件句柄。
onload 当图像装载完毕时调用的事件句柄。
function preloader() 
{ 
    var heavyImage = new Image(); 
    heavyImage.src = "3.jpg"; 
    heavyImage.onload=function(){alert(heavyImage.width)}; 
} 

在实际应用中,咱们可能须要预载入多个图像,而不止一个。htm

function preloader() 
{ 
    // counter 
    var i = 0; 
    // create object 
    var arr = new Array(4)
    // set image list 
    var images = new Array(); 
    images[0]="1.jpg" ;
    images[1]="2.jpg" ;
    images[2]="3.jpg" ;
    images[3]="4.jpg" ;
    // start preloading 
    for(i=0; i<=3; i++) { 
        arr[i] = new Image();
        arr[i].src = images[i];
    } 
} 
相关文章
相关标签/搜索