2016-10-16 99 views
1

Javascript提供了location.reload(nocache) API。導航到JavaScript中的新網址,但強制重新加載?

當'nocache'參數爲true時,它將強制從服務器重新加載當前的URL以繞過瀏覽器緩存。

當通過window.location.href = url;導航到新的網址時,是否有相應的方法來執行此操作?

我有一個聊天應用程序,它檢測客戶端運行的版本與服務器期望的版本相比較,如果它們不同,它會提示客戶端導航到最新版本的URL。

但我發現當我發出這個問題時,許多客戶端仍在使用緩存腳本。

回答

3

沒有開箱即用的解決方案。最簡單的方法是將另一個參數添加到將會破壞緩存的URL。例如,

window.location = "/server/url?timestamp=" + (new Date()).getTime() 

每次運行它時,時間戳都會改變,瀏覽器將不會在緩存中找到該頁。

+0

不知道它是否達到完整的url或js/css文件的url,可能是op想要爲js/css文件禁用緩存 –

+0

這是簡單並且很好的解決方案 –

+0

謝謝,很好,很簡單。我其實已經在其他地方使用過這種技術,所以我很慚愧,雖然我沒有這樣做:)我一直試圖通過網絡服務器緩存頭來處理它,但它並不理想 – carpii