iT邦幫忙

0

asp.net mvc5 javascript 不會更新

不知道什麼時候開始,我的網站程式,修改了 javascript或是CSS,執行時都還是抓到舊的版本。不管用IE、Chrome、FireFox 都一樣,我只好每次手動按「清除瀏覽資料」,強迫browser更新。

我是用Visual Studio 2017 開發的。不管測試時,或是發行到網站上,都有同樣的狀況。
請問各位知道如何解決嗎?

攻城屍 iT邦新手 4 級 ‧ 2017-11-16 09:14:49 檢舉
Chrome F12 -> Network -> Disable cache
fillano iT邦超人 1 級 ‧ 2017-11-16 13:13:07 檢舉
你打開瀏覽器的開發者工具,然後使用「網路」工具看一下這些檔案的記錄,把完整的request/reponse header列出來看看。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
小魚
iT邦大師 1 級 ‧ 2017-11-16 12:04:14
最佳解答

你不可能要求使用者重新整理,
我會習慣在自訂的js跟css後面加上date變數,

@{
   date = DateTime.Now.ToString("MMdd")
}

<link rel="stylesheet" type="text/css" href="xxx.css?@date" />
<script src="xxx.js?@date"></script>

每天的date會不一樣,
網頁發現後面的date變了,
就會重新去抓一次最新版的,
所以每天都會自動更新.

Brandon iT邦新手 4 級 ‧ 2017-11-16 22:00:14 檢舉

我以前寫的程式,不會這樣耶? 是IIS有什麼新的policy嗎?

小魚 iT邦大師 1 級 ‧ 2017-11-17 00:06:37 檢舉

一直都是這樣子的,
瀏覽器會有暫存的html,css跟js在本機,
除非你有設定不要暫存。

如果它覺得不需要更新,
你看到的會是本機的頁面不是網頁的頁面,
如果你是使用者,可以通過使用習慣來改善這個問題,
如果你是網站開發者,最好用類似我這樣的方式,
以前我都手動去改參數,後來自己想到這個方法就不用手動改了。

0
石頭
iT邦高手 1 級 ‧ 2017-11-15 22:42:31

你可以試試ctrl+F5

Brandon iT邦新手 4 級 ‧ 2017-11-16 21:58:29 檢舉

雖然不知道為什麼,但這招有效耶?

小魚 iT邦大師 1 級 ‧ 2017-11-17 00:02:50 檢舉

當然有效,但是如果是寫網頁給使用者看,不可能要求使用者這樣做

0
timloo
iT邦研究生 2 級 ‧ 2017-11-16 09:29:49

Chrome 我是這樣清
https://ithelp.ithome.com.tw/upload/images/20171116/200452301GJlx9u9v0.png

大量的user ,不太適合這樣做。

我要發表回答

立即登入回答