鍍金池/ 問答/HTML/ chrome和firefox對本地靜態(tài)資源緩存問題

chrome和firefox對本地靜態(tài)資源緩存問題

問題描述

在改公司一個老項目,結(jié)構(gòu)比較亂,前臺部分組件用到vue,其他基本上是jq,后臺是php,整個項目類似于jsp。本地調(diào)試時,一直用的chrome,在需要修改的js文件里面做出修改后,刷新chrome沒問題能正常顯示,但是測試時發(fā)現(xiàn)firefox上該js沒有任何變化,清除緩存ctrl+F5后資源內(nèi)容發(fā)生了變化,雖然解決了,但是我很想知道這其中究竟涉及到了什么知識,望各位前輩不吝賜教!謝謝!

PS:開發(fā)調(diào)試一直用的chrome,測試發(fā)現(xiàn)問題后我才用firefox去查問題的。

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

清緩存ctrl+F5

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)
代碼不重要,就是本地一個靜態(tài)的js,不涉及vue打包刷新。

你期待的結(jié)果是什么?實際看到的錯誤信息又是什么?

回答
編輯回答
失心人

瀏覽器緩存是這樣的:
比如說你有一個地址是http://localhost:8089/#/demo這個. 當(dāng)你第一次進(jìn)來之后其實它的資源就被瀏覽器緩存下來了. 其實它也是好心, 避免每一次都去請求. 減少你的壓力.
因為你第二次進(jìn)來地址還是http://localhost:8089/#/demo 所以它就不認(rèn)為你有什么資源進(jìn)行了修改.
所以我們一般在做項目的時候每次發(fā)布都會在地址上加上時間戳.
eg:
在你的index.html中引入了一段js.

<script type=text/javascript src=./static/js/vendor.6a0ebc1e404e6fe66792.js>

第一次進(jìn)來可能是這樣的. 但是第二次進(jìn)來你要改變它的名字

<script type=text/javascript src=./static/js/vendor.47810937849873934234.js>

這樣就解決緩存問題了

2018年7月13日 18:51