2012-06-01 195 views
1

我對javascript文件添加了相當大的改動。但是,爲了使新的更改能夠註冊,我需要刷新我的瀏覽器。我想這也是所有其他使用這個網站的人的方式。強制刷新客戶端瀏覽器

有沒有辦法讓客戶端的瀏覽器緩存無效並強制它下載新的js文件?

回答

4

您可以重命名文件,或只是加載文件時添加一個隨機參數:

<script src="/javascripts/application.js?version=4" type="text/javascript"></script> 
3

您可以添加一個參數的文件名,如

<script src="script.js?rnd=2131231"></script> 
1

有一個很全面的討論here,有幾種方法可以做到這一點。
推薦的解決方案(的mod_pagespeed)可能不適合你的情況下,最好的解決方案您的項目不夠大,或者你不使用Apache,在這種情況下,我會推薦格式,如:

<script src="/{sha_1_here}/script.js"></script> 

而不是GET參數,因爲顯然有些瀏覽器不會緩存帶參數的腳本。
這應該無處不在,你只需要重寫URL服務器端。

0

出於開發目的,我禁用瀏覽器端的緩存,以便它始終提取。

但是,對於生產,要重置,以便所有客戶端用戶的瀏覽器應該下載新版本,你可以看看Apache的設置過期緩存的文件。

相關問題