2012-01-11 270 views
1

我用asp.net mvc3 razor創建了我的網頁。當我用修改過的.js文件發佈給客戶端 時。在重新加載或刷新頁面之前,客戶端無法獲取修改的更改。但我想找到解決方案,不應要求客戶端每次刷新頁面以更新更新。但我不想改變谷歌瀏覽器的設置(我們正在使用谷歌瀏覽器爲我們的網頁)。asp.net mvc3剃刀,javascript

我希望僅在代碼中進行更改。任何人都可以向我提出解決方案。

+1

你不能那樣做。當頁面加載時,JavaScript文件等資源會加載一次。 – 2012-01-11 11:08:13

回答

0

你應該檢查出Combres,它是作爲NuGet包提供的。這將結合您的JavaScript文件,將它們縮小並作爲單個文件提供給瀏覽器。該單個文件在瀏覽器緩存(您的問題的根源)的名稱中有一個唯一的哈希。

您只需使用NuGet安裝軟件包,然後在App_Data的combres.xml文件中列出您的JavaScript文件。它爲你處理一切。

作爲一個獎勵,它也適用於CSS和組合和縮小您的文件將使您的網站更快加載。

3

在你的javascript文件中,在它的末尾放置一個查詢字符串。這將迫使瀏覽器重新加載javascript文件:

<script type="text/javascript" src="/path/to/script.js?version=2"></script> 

每次重新部署js文件的變化,增量版本= 3,版本= 4,依此類推。 Chrome瀏覽器(以及其他任何瀏覽器)會認爲該文件已更改,並在不使用緩存中以前版本的情況下重新加載該文件。