簡體   English   中英

在用戶的瀏覽器上緩存JavaScript和CSS,並在進行更改后加載新的JavaScript和CSS

[英]Cache JavaScript & CSS on user's browser and load new one when changes are made

我希望用戶的瀏覽器緩存外部.css和.js文件。 但是,每次進行更改時,我都希望用戶的瀏覽器能夠加載更新的外部文件,而不是使用以前的緩存。

我發現在添加ext .css和.js文件時添加參數會有所幫助。 但是,當我這樣做時,我發現瀏覽器不再緩存文件,而是在每次訪問該頁面時繼續加載外部文件。 我可以知道如何解決這個問題嗎?

基本上,您有2個選擇:

  • 使用Etag 如果托管提供商允許,則可以在.htaccess文件中配置Etag: <Directory /path/to/directory>
    FileETag INode MTime Size
    </Directory>
    <Directory /path/to/directory>
    FileETag INode MTime Size
    </Directory>

  • 不是參數,而是將版本添加為文件名的一部分。 例如:style_10.css

為了理解緩存,我推薦Mark Nottingham的緩存教程: http : //www.mnot.net/cache_docs/

如果設置了正確的“ Expires”標頭,即使添加了動態URL參數,文件也將被緩存。 因為這確實是解決問題的最有效方法。

大多數Web服務器將使用文件的修改日期來向瀏覽器報告文件是否已更改。 瀏覽器應該正確地請求帶有If-Modified標頭的文件,以便使用緩存的副本。

您確定瀏覽器尚未執行正確的操作?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM