火狐瀏覽器圖形驗證碼刷新不生效的問題(圖片src重新賦值不生效的問題)

場景之一

圖形驗證碼刷新

刷新方式:點擊一次圖片,就重新給src賦值一次,從而進行刷新。

// 這種方式,谷歌瀏覽器正常刷新,火狐瀏覽器不會刷新
ImageCodeSrc = BASE_URL + "/login/captcha.jpg"

這樣寫在谷歌瀏覽器中是正常顯示的,沒有問題。但是火狐就會出現不刷新的問題。

原因

【由於指定的src與原來圖片的src相同,所以在ie7、火狐瀏覽器下驗證碼不會刷新】

問題就出在上面的賦值方式,導致每次src的路徑都是一樣。

解決方法

加一個時間變量來讓每次的src都不一樣

代碼修改如下:

// 這種方式,谷歌和火狐都能成功刷新
ImageCodeSrc = BASE_URL + "/login/captcha.jpg?d=" + new Date().getTime()

現在每次刷新都傳遞了不同的參數,火狐瀏覽器纔會認爲img的src發生變化,然後重新生產驗證碼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章