我正在處理角js應用程序,它是一個單頁應用程序,我們正在使用路由來切換視圖。所有的文件(stylesheets和javascripts)只有在索引頁第一次被打到時才加載一次,並且假設我在樣式表或javascript文件之一中進行了更新,那麼它將使用舊版本的文件而不是更新的文件。防止角js應用程序中的緩存
我想強制客戶端瀏覽器採取最新的文件,只要服務器文件中有一個更新,而不需要從緩存中取出而無需刷新頁面(index.html)本身。
任何幫助,將不勝感激。
我正在處理角js應用程序,它是一個單頁應用程序,我們正在使用路由來切換視圖。所有的文件(stylesheets和javascripts)只有在索引頁第一次被打到時才加載一次,並且假設我在樣式表或javascript文件之一中進行了更新,那麼它將使用舊版本的文件而不是更新的文件。防止角js應用程序中的緩存
我想強制客戶端瀏覽器採取最新的文件,只要服務器文件中有一個更新,而不需要從緩存中取出而無需刷新頁面(index.html)本身。
任何幫助,將不勝感激。
如果你的目標是要實現緩存和適當的資源重新驗證,那麼我建議您使用以下標題:
Cache-Control: max-age=0, must-revalidate
ETag: 'some generated value based on the content'
在這種情況下,瀏覽器總是會發送請求,檢查ETag的值,如果ETag的已經改變,那麼服務器會發送新的內容,如果沒有的話將與狀態碼:304未修改
如果你已經部署你的網站上的生產和NE現在編輯在無效用戶的瀏覽器現有的緩存,然後讀什麼添建議:link
您可以防止在角js文件的緩存在頁面中使用了,您已經定義了不同的URL的狀態cache: false
參數。
$stateProvider.state('login', {
url: '/yourState',
cache: false,
templateUrl: 'yourTemplate.html',
controller: 'yourController as yourCtrlObj'
});
在狀態參數設置cache
到false
,一旦網頁獲取加載相應頁面中的所有文件將被重新加載。在這裏我給出了一個例子,使用controllerAs
語法角js
谷歌緩存破壞,也看到這個http://stackoverflow.com/questions/9692665/cache-busting-via-params –