2017-02-12 62 views
3

我幾個星期以來都有一個瘋狂的煩人問題,我似乎無法解決。偶爾,當我更新Siteground上託管的我的網站的Javascript或CSS文件時,Chrome會拒絕識別它們。如果我清空緩存並刷新,其他瀏覽器將立即提取新文件,Chrome不會。爲什麼Chrome拉老JS文件?

我:

  1. 通過cPanel的文件管理器驗證正確的文件上傳到我的服務器。
  2. 反覆清空Chrome的緩存。
  3. 反覆使用devtools「硬重載」和「空緩存和硬重載」。
  4. 反覆退出並重新打開Chrome。
  5. 通過devtools完全關閉Chrome的緩存。

這個問題似乎很難解決,當我幾個小時後回到它時,它就解決了。我在這裏錯過的是讓Chrome瀏覽器不能讀取新文件?

+0

如果問題仍然存在,請使用隱身模式進行檢查。 –

+0

@Kinduser剛剛檢查過,仍然使用舊文件。 –

+0

這絕對是一個緩存問題。您是否嘗試過[通過DevTools中的Network選項卡禁用Chrome的緩存](http://stackoverflow.com/a/7000899/2341603)? –

回答

2

有時服務器本身緩存某些用戶代理的響應(這區分了您使用的服務器類型),這可能會解釋您的問題。

我建議嘗試通過devtools將您的UA(用戶代理)更改爲您目前在Firefox/safari中的內容,以查看問題是否仍然存在。

這只是服務器可能緩存某些瀏覽器響應的方式之一,因爲它也可能會因其他小實施差異而發生變化。

檢查通過您的服務器的設置,看看是否有正在被服務器緩存,或者如果服務器通過localStorage和類似的,然後添加額外的緩存信息,試圖改變這些設置或依賴於客戶端儲存的代碼片段那些不被認爲是緩存。

+0

謝謝,我開始認爲它必須是服務器端的東西,今天我會花一些時間來研究這一點。 –

+0

,你仍然可以檢查客戶端上的localStorage和indexedDB(如果有幫助的話) – towc

+0

如果我們不知道如何從中受益,那麼它就變成了噩夢。 –

相關問題