火狐瀏覽器kaptcha驗證碼點擊無法刷新問題解決方法


一、問題

  谷歌的kaptcha驗證碼模塊,在火狐瀏覽器和ie瀏覽器中,沒有辦法實現點擊驗證碼圖片就刷新的功能

  當我們給驗證碼綁定單擊事件時,代碼如下:

window.onload = function(){ document.getElementById("code_img").onclick = function(){ this.src = "/kaptcha.jpg"; } }

 

二、解決方法,代碼如下

window.onload = function(){ document.getElementById("code_img").onclick = function(){ this.src = "/kaptcha.jpg?t=" + new Date().getTime(); } }

  如果 【new Date() 】后面不加 【.getTime()】也能解決問題,但是你會發現點擊刷新的時候沒那么順暢。加上之后就會順暢無比。

  

三、原因

  瀏覽器為了讓請求響應速度更快,就會將每次請求的內容緩存到客戶端瀏覽器上(內存或硬盤中),再次訪問時發現請求是一樣的,便直接去調用這個緩存下來的值。

  我們用第一次寫的代碼,每次請求的參數都是一樣的,所以瀏覽器就直接去調用第一次的值了,所以無法實現功能。

  解決方法只要讓每次發的參數不一樣就好了,想來想去也就只有時間是每一秒都不一樣的。

  

  昨晚寫着寫着停電了,沒來的及更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM