2010-10-28 18 views
0

我已經在我的頁面中使用外部js文件進行上傳操作..一旦文件被加載到臨時文件夾,它從那裏加載即使新更改後的舊版本中存在的臨時文件夾被加載中...我有我的網頁上寫的js文件正在從緩存臨時互聯網文件加載,而不是從服務器redownloading

Response.Cache.SetCacheability(HttpCacheability.NoCache);

但它仍然會加載緩存的js文件。當我手動清除臨時文件它工作正常...但我不能要求我的客戶端清除臨時文件夾,,, 是否有任何解決方案來加載js文件不是從緩存中,即每次頁面加載時重新加載...

+0

您需要在JS文件*中輸出響應頭*。將它們輸出到頁面中將無濟於事。 – 2010-10-28 12:54:03

回答

0

我假設這僅僅是爲了你的開發,如果頻繁的變化在生產這將不會幫助你的用戶。

大多數瀏覽器允許您按Ctrl + F5重新加載頁面中的所有內容,而不僅僅是從緩存中加載圖像,CSS,js等的頁面的標準刷新。

+0

okz ..所以在網站的情況下,這將不會發生..緩存將更新與新版本,如果存在.. – deepu 2010-10-29 04:10:24

2

在頁面上設置緩存標題將控制緩存頁面輸出 - 它不會影響其他文件,如js文件。但我寧願更喜歡js文件被緩存,所以你想做的其他原因不清楚。如果它用於開發目的,那麼你總是可以點擊瀏覽器刷新按鈕來獲得新鮮的java腳本文件。

如果您想在生產環境中執行此操作,那麼您可以在js文件url(.../file.js?q=4563888)之後附加一些隨機查詢參數。您可以使用Environment.TickCount等來生成隨機數。

+0

感謝您的信息 – deepu 2010-10-29 04:09:42

+0

@Deepu,如果你想在生產環境中發佈新版本的JS版本號將是查詢參數(.../file.js?v = 1.5.0.11)的更好選擇。您可以在某處定義一個靜態實用程序方法,以將這些信息附加到url。在包含js/css文件的同時,您可以使用服務器標籤(<%= %>)並嵌入對該方法的調用以獲取嵌入版本信息的網址。 – VinayC 2010-10-29 05:32:26

相關問題