解決修改css或js檔案,瀏覽器快取更新問題。

2022-06-14 22:30:14 字數 1139 閱讀 2096

在搜尋引擎中搜尋關鍵字.htaccess 快取,你可以搜尋到很多關於設定**檔案快取的教程,通過設定可以將css、js等不太經常更新的檔案快取在瀏覽器端,這樣訪客每次訪問你的**的時候,瀏覽器就可以從瀏覽器的快取中獲取css、js等,而不必從你的伺服器讀取,這樣在一定程度上加快了**的開啟速度,又可以節約一下你的伺服器流量。

問題現在問題來了,.htaccess設定的css、js快取都有乙個過期時間,如果在訪客的瀏覽器中已經快取了css、js,在這些css、js快取未過期之前,瀏覽器只會從快取中讀取css和js,如果你在伺服器上修改了css和js,那麼這些更改在回頭客的瀏覽器中是不會有變化的,除非回頭客按了ctrl + f5重新整理了你的**頁面或者手動清空了瀏覽器的快取。乙個**的訪客成千上萬,回頭客也會有不少,你不可能在更新css後讓每個訪客都重新整理一下快取吧,那麼這個問題你會怎麼處理呢?

方法一1

rel="stylesheet" href="style.css" />

改一下css檔名就可以了:

1rel="stylesheet" href="index.css" />

另外一種更改css檔名的方法是將版本號寫到檔名中,如:

1rel="stylesheet" href="index.v2011.css" />

css檔案更新後,改一下檔名中的版本號即可:

1rel="stylesheet" href="index.v2012.css" />

方法二給css檔案加個版本號:其實每次修改css檔案後還要修改css的檔名有點麻煩,那麼我們可以在載入css語句中加入個版本號(即css鏈結中?後面的內容)就可以了。如原先html中的css呼叫語句如下:

1rel="stylesheet" href="style.css?v=2011" />

改一下css檔案的版本號改成2012就可以了:

1rel="stylesheet" href="style.css?v=2012" />

需要注意的是,部分**快取伺服器不會快取**中包含 "?" 的資源,所以方法二可能會導致你原先的快取功能失效,可以改用第一種方法。

總結其實css檔案後面的問號起不到實際作用,僅能當作字尾,如果用問號加引數的方法,可以新增版本號等資訊,同時可以重新整理一下瀏覽器端的快取。乙個小小的細節,可以給我們帶來很大的方便。

js動態修改瀏覽器title

title在html中屬於特殊的節點元素.因為它可以使用document.getelementsbytagname title 0 來獲取網頁的title標籤,但卻無法用document.getelementsbytagname title 0 innerhtml用更改它的值。經測試原生js有兩種方...

css 解決瀏覽器相容 css hack

我們在做頁面時不可避免的會碰到瀏覽器相容問題,特別是 ie6,那麼要如何相容所有瀏覽器呢,答案是 css hack。還有一些 css hack 我沒用羅列出來,譬如 chrome,opera 等等。對於這些通常情況下我們是用不到的。測試的瀏覽器 ie6 9,firefox,chrome ps 最好的...

解決UC瀏覽器或微信瀏覽器上flex相容問題

在uc瀏覽器上使用display flex 時會不起作用,要加上相容性寫法,如下 display webkit box old ios 6 safari 3.1 6 display moz box old firefox 19 buggy but mostly works display ms fl...