前端开发

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

2020-11-06 18:16:58 阅读数 3045 收藏 0
经常会用到在网页上交替显示图片。很多推荐的作法是用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一被改变就会发出请求。那预先装载图片不是等于没用吗?