如果我編輯我的Web Worker腳本並刷新頁面,則Web Worker腳本是緩存版本。我有理由相信它不是我的網絡服務器,因爲我可以立即加載所有其他文件的最新副本,甚至重新啓動網絡服務器也不能解決問題。 它只加載最新版本的web worker腳本,如果我重新啓動chrome,效率非常低,不用說!即使我重新啓動Chrome,它也不能修復它。我能做些什麼來解決這個問題嗎?Chrome瀏覽器不加載最新版本的Web Worker腳本(運行緩存版本)
回答
您的網絡服務器決定給定網絡資源的可達到程度,瀏覽器嘗試尊重這些設置,緩存網絡服務器認爲可以緩存的資源,而不是緩存不應該緩存的內容。
如果你想改變這種狀況,您有以下選擇:
- 清除瀏覽器緩存手動
- 暫時關閉瀏覽器緩存。
- 臨時更改您的Web服務器上的設置,以指示瀏覽器不緩存
- 覆蓋的高速緩存僅這一個網頁(在某些瀏覽器轉向-F5)強制新內容重載
- 添加查詢參數添加到您每次需要加載新版本時更改的Web Worker腳本的URL。
在我的Linux的Chrome我需要右鍵點擊(或長按)Reload按鈕並選擇「清空緩存並硬性重新加載」,以獲取最新版本
什麼是長時間點擊? –
要長時間點擊,請按住鼠標按鈕,直到菜單打開。 @布萊恩:我甚至都不知道那裏。由於某種原因,Ctrl + F5不能正常工作,但是這種方式非常完美。 –
非常感謝@Brian,這爲我解決了它! –
添加<script src="your_worker_path"></scripts>
到頁面的頭,迫使緩存更新。
在if(typeof window == "undefined"){...}
中包含您的工人代碼,以避免它在頁面重新加載時啓動
您必須關閉打開此頁面的所有選項卡。只打開一個,然後按Ctrl + Shift + R進行刷新,則緩存將被清除。
- 1. Web瀏覽器控件在最新IE版本中運行
- 2. 瀏覽器緩存版本的Tampermonkey
- 3. VueJS /瀏覽器緩存生成版本
- 4. 停止瀏覽器加載未更新的緩存版本的網頁。
- 5. 如何強制瀏覽器刷新網頁的緩存版本
- 6. 瀏覽器是否持久地緩存腳本元素的編譯版本?
- 7. 強制瀏覽器下載pdf的最新版本
- 8. 瀏覽器的JavaScript版本
- 9. 根據IE版本加載不同的腳本版本
- 10. LESS在客戶端運行的最低瀏覽器版本
- 11. 支持較新版本的瀏覽器
- 12. YUI 2.9與新版本的瀏覽器
- 13. Extjs(版本5.0.0.970)在New chrome更新版本中運行緩慢53.0.2785.101
- 14. ipython在運行新版本之前先運行舊版本的腳本
- 15. 原型Ajax.Request在谷歌Chrome瀏覽器版本不工作版本14.0.835.163起
- 16. 瀏覽器版本檢測
- 17. WPF WebBrowser瀏覽器版本
- 18. 瀏覽器版本jQuery中
- 19. Matlab瀏覽器版本
- 20. Flash版本跨瀏覽器
- 21. 基於瀏覽器版本
- 22. 瀏覽器版本測試
- 23. 支持的最低瀏覽器(Chrome,IE,Mozilla)版本?
- 24. Bash腳本來運行文件的最新版本?
- 25. 使用Firefox的量角器(32個最新版本)瀏覽器未加載
- 26. JavaScript - 緩存小書籤,但始終加載最新版本
- 27. 通過瀏覽器緩存java腳本
- 28. 跨瀏覽器緩存腳本文件
- 29. Google Chrome瀏覽器css顯示的新版本:flex問題
- 30. 根據瀏覽器加載不同版本的jquery
Chrome的硬刷新不刷新工作人員,而仍使用緩存版本。 – riv
如果您仍然發現使用此答案您的服務人員未更新,請檢查它是否包含錯誤。由於如果serviceworker包含javascript錯誤並且無法安裝,舊版本仍將繼續使用。 –
@BasGoossen - 如果你沒有意識到,這個問題是關於網絡工作者(在網頁中運行在不同線程中的腳本),而不是服務工作者(不同的東西)。 – jfriend00