用new Image()预先加载图片真的有用吗?

经常会用到在网页上交替显示图片。很多推荐的作法是用new Image() 预先装载图片。但是用new Image()真的有用吗?

试验:

在后台放一个过滤器捕捉所有 /* 的请求:

doFilter里面简单的打印请求的URL:

[code]

HttpServletRequest httpRequest = (HttpServletRequest) request;
System.out.println("requets url: " + httpRequest.getRequestURI());
chain.doFilter(request, response);

[/code]


html代码:

[code]
<body>
<script>
var t1 = new Image();
t1.src = 'ico_unchecked.gif';

function change(){
im.src = t1.src;
}
</script>
<button οnclick="change()">change</button>
<img id="im" src="ico_checked.gif">
</body>
[/code]


可以看到打印了三次url。html页面的请求一次。t1.src设值的时候一次。<img src="">的时候一次。

我想这时候如果按按钮改变页面上的图片,应该不会再从服务端载图片了,因为缓存里面已经有了嘛。可是点的时候过滤器仍然是有打印出URL!

看来只要image对象的src一被改变就会发出请求。那预先装载图片不是等于没用吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值