CSS JS 修改後不會生效? 小技巧避免被瀏覽器 CACHE



最近開發專案,遇到這個惱人小問題:

每每修改 CSS code 或 javascript 檔案,網頁一刷新,還是不動如山啊! 😡 

實驗後,原來是遇到 CACHE 快取問題,這部分與使用者瀏覽器有關:

Google Chrome、safari  對此 CACHE 機制各不同,然後,Wordpress 與此 CACHE 機制也有關,

簡直是一個大混亂的局面。

那該怎麼辦呢?

若想短時間內解決此問題,有個簡單方法。 🙂

在每次引用 CSS 與 javascript 檔之處,加上一個 ?v=亂數 的機制:

以PHP 為例,

<link rel="stylesheet" type="text/css" href="http://mysite/style.css”>

 
利用 time() 函數,產生一組每次都不一樣的 unix timestamp 數字:

<link rel="stylesheet" type="text/css" href="http://mysite/style.css?v=<?=time()?>">

 

如此一來,每次瀏覽器刷新,一定都會重新抓取該檔案,不會再卡住快取了。

 

注意: 這方法用於開發期間,一旦系統正式上線服務後,建議關掉該亂數。

畢竟,js CSS 檔只要抓一次就夠了,每次重新抓取,意味耗掉時間與資源。