您好,登錄后才能下訂單哦!
發布新版本到服務器上后,點擊一個按鈕總是不執行相應的操作,將控制臺信息輸出出來后發現提示信息說沒有找到相應的對象。
按鈕的代碼中調用了一個函數,這個函數在另外一個JS文件中,是新版本中增加的。因為是在Android手機上,沒法聯機調試,于是通過alert逐步定位,發現新加的函數確實沒有。再通過鏈接打開對應的JS文件查看,發現確實也沒有新增的函數,可是檢查服務器上的JS文件,其內容是正確的。
另外,這個問題只在Android手機上出現,在iPhone下沒有這個問題。
在網上搜索,發現是Android下使用了緩存的JS文件,因為在HTML的Header中沒有設置相應meta參數,導致Android下沒有更新JS文件。
強制Android刷新JS/CSS文件有兩種方法:
方法一,設定Meta參數,強制不使用緩存
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> |
這種方法適用于開發階段,或開發、測試服務器上,對于生產環境不太適合,因為不使用緩存,終端用戶的性能會受到影響。
方法二,為需要更新的CSS/JS文件鏈接后面增加版本號參數,這樣Android客戶端會認為是新的文件:
<script src="/js/invitation.js?v=20150625"></script> |
這種方法適用于生產環境。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。