经常会用到在网页上交替显示图片。很多推荐的作法是用new Image() 预先装载图片。但是用new Image()真的有用吗?
试验:
在后台放一个过滤器捕捉所有 /* 的请求:
doFilter里面简单的打印请求的URL:
代码
HttpServletRequest httpRequest = (HttpServletRequest) request;
System.out.println("requets url: " + httpRequest.getRequestURI());
chain.doFilter(request, response);
html代码:
代码
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
可以看到打印了三次url。html页面的请求一次。t1.src设值的时候一次。<img src="">的时候一次。
我想这时候如果按按钮改变页面上的图片,应该不会再从服务端载图片了,因为缓存里面已经有了嘛。可是点的时候过滤器仍然是有打印出URL!
看来只要image对象的src一被改变就会发出请求。那预先装载图片不是等于没用吗?
您可能感兴趣的文章: