對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2011/6/13 3:30:25
強制重新載入圖片
昨天在寫程式的時候遇到一個問題,那時候是寫一個程式是用CFIMAGE縮小及旋轉圖片,流程如下
使用者載入頁面,程式會依照圖片的大小是否過大顯示"縮小照片"的按鈕,以及旁邊是旋轉照片的按鈕
使用者按了縮小照片的按鈕,按鈕指向同一頁面,但多了一個網址控制變數,伺服器程式會依據控制變數進行照片縮小動作
當伺服器程式完成縮小動作,重新讓使用者載入頁面,把網指控制變數給清掉
這時候使用者應該可以看的到更改過後的圖片了。
但是因為瀏覽器會留存圖片資料(CACHE)進入暫時網際網路檔案夾(Temp. Internet Files) 所以使用者看到的是未更改過的圖片。
試了很多方法,用JavaScript的window.location 或是location.reload以及
也沒辦法更新圖片!
我之後使了JavaScript DOM的絕招才行,照片才會重新載入頁面。
在圖片後面加了個網指控制變數,new Date().getTime()是個時間的數字變數,所以一秒之差這個變數都會變成不一樣,而因此讓瀏覽器誤認為這個圖片是沒有下載過的,必須要重新下載。
原文出處:強制重新載入圖片 | CFSOHO BLOG
昨天在寫程式的時候遇到一個問題,那時候是寫一個程式是用CFIMAGE縮小及旋轉圖片,流程如下
使用者載入頁面,程式會依照圖片的大小是否過大顯示"縮小照片"的按鈕,以及旁邊是旋轉照片的按鈕
使用者按了縮小照片的按鈕,按鈕指向同一頁面,但多了一個網址控制變數,伺服器程式會依據控制變數進行照片縮小動作
當伺服器程式完成縮小動作,重新讓使用者載入頁面,把網指控制變數給清掉
這時候使用者應該可以看的到更改過後的圖片了。
但是因為瀏覽器會留存圖片資料(CACHE)進入暫時網際網路檔案夾(Temp. Internet Files) 所以使用者看到的是未更改過的圖片。
試了很多方法,用JavaScript的window.location 或是location.reload以及
<cfheader name="Expires" value="#now()#" charset="utf-8">
也沒辦法更新圖片!
我之後使了JavaScript DOM的絕招才行,照片才會重新載入頁面。
<img id="myimage" src="" />
<script language="javascript">
document.getElementById('myimage').src='myimage.gif?ts='+new Date().getTime();
</script>
在圖片後面加了個網指控制變數,new Date().getTime()是個時間的數字變數,所以一秒之差這個變數都會變成不一樣,而因此讓瀏覽器誤認為這個圖片是沒有下載過的,必須要重新下載。
原文出處:強制重新載入圖片 | CFSOHO BLOG