用new Image()預先加載圖片真的有用嗎?
更新時間:2007年09月24日 21:40:18 作者:
經常會用到在網頁上交替顯示圖片。很多推薦的作法是用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需再刷新一下頁面才能執(zhí)行]
可以看到打印了三次url。html頁面的請求一次。t1.src設值的時候一次。<img src="">的時候一次。
我想這時候如果按按鈕改變頁面上的圖片,應該不會再從服務端載圖片了,因為緩存里面已經有了嘛??墒屈c的時候過濾器仍然是有打印出URL!
看來只要image對象的src一被改變就會發(fā)出請求。那預先裝載圖片不是等于沒用嗎?
試驗:
在后臺放一個過濾器捕捉所有 /* 的請求:
doFilter里面簡單的打印請求的URL:
代碼
HttpServletRequest httpRequest = (HttpServletRequest) request;
System.out.println("requets url: " + httpRequest.getRequestURI());
chain.doFilter(request, response);
html代碼:
代碼
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
可以看到打印了三次url。html頁面的請求一次。t1.src設值的時候一次。<img src="">的時候一次。
我想這時候如果按按鈕改變頁面上的圖片,應該不會再從服務端載圖片了,因為緩存里面已經有了嘛??墒屈c的時候過濾器仍然是有打印出URL!
看來只要image對象的src一被改變就會發(fā)出請求。那預先裝載圖片不是等于沒用嗎?

