更改JS後,讓用戶即刻體驗到

這個標題不太恰當,但是和我在編程時起名字一樣,我自己寫的東西,我自己明白就好了。

 

鬱悶,不知道爲啥別人用短語叫英文好。我用就叫“不能用短語的,最好是一個詞”,唉。呵呵。抱怨一下。。

 

切入正題,昨天的班不是白加的,老大的經驗果然豐富,給我們講了這麼一件事。

 

在網站開發上線後由於種種原因我們要改JS文件,增加一個函數。或者更改一個函數的實現之類的。

 

但是我們改完後,一般瀏覽器由於緩存的問題就會把原來的給留住,這樣用戶只有按“CTRL+F5”強行刷新纔會用到新的JS文件。

 

但是由於 HTML是會即刻更新的,這樣就會導致一個問題,有可能HTML調用的是一個新的JS函數。可是用戶客戶端的是一箇舊的JS文件。

 

這樣就用戶瀏覽器就會報錯,而我們又不能告訴每個用戶,“兄弟我們需要你刷新一下。嘿嘿,不好意思哈。”。這樣會被頭罵死的。

 

於是老大給我們講了一下他們團隊用的一個方法,還真TMD帥。

 

實現簡單,功能強大,嘿嘿。

 

在引用JS的時候呢,後面加一個參數,最後一次這個文件的修改時間,當然取一個文件最後的修改時間是用PHP自帶的系統函數的。嘿嘿。具體是啥我記不清了。大家自己翻手冊哈。

 

例如這樣:

<script type="text/javascript" src="abc.js?v='<?php echo FileSvc::getLastModTime(\"abc.js\");?>'"></script>

 

就這樣,因爲瀏覽器打開的時候會匹配參數的,如果參數不同了(也就是說你現上的文件更新過了),那麼好,瀏覽器就會重新上服務端請求一下這個文件。這樣就不會有問題啦。

 

嘿嘿。

 

另外想起來那個函數的名字了:filemtime,有啥不明白的請看手冊,或者 超越PHP

 

 

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 3864
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章