作了個驗證碼功能,須要作個點擊改變驗證碼圖片的功能,使用js改變img的src,代碼以下javascript
$("#cerificationCodeImg").attr("src","common/image.jsp");
image.jsp是用來生成驗證碼圖片的,chrome下沒有問題,IE下圖片沒有刷新,FF下也沒有。搜索答案,在stackoverflow上找到了答案。連接以下:Dynamically change image src using Jquery not working in IE and firefoxjava
原回答以下:jquery
IE caching all GET request, so add a timestamp to your request URL e.g :chrome
$(".linkEmail").click(function () { //Load captcha image $('.imgCaptcha').attr('src', '/Custom/AppCode/Utilities/CaptchaGenerator.ashx?'+new Date().getTime()); $('#emailModal').modal(); });
大意是IE下會緩存什麼的云云,沒必要深究,在後面把時間傳進去就OK了,那個人js代碼就相應改爲了緩存
$("#cerificationCodeImg").attr("src","common/image.jsp?"+new Date().getTime());
OK,在IE和FF都正常工做了。服務器
補記:後來一位同窗碰到相似的問題,但他的狀況並非去請求頁面,只是用js動態的改變圖片的src,src是直接用的靜態圖片,雖然服務器的圖片已改,可是前臺依舊顯示舊圖片,使用上面說的方法能夠解決問題。套樣上面的代碼就是:jsp
$("#cerificationCodeImg").attr("src","common/image.jpg?"+new Date().getTime());
其實jsp頁面和靜態圖片都屬於url資源,據此推測,加timestamp的方法適用於任何使用url訪問的資源緩存問題。url