2013-03-22 106 views

回答

1

如果要查看css或js更改,一種方法是將_versionNo追加到每個版本的css/js文件中。例如。

script_1.0.css script_1.1.css script_1.2.css等

你可以看看這個link來看看它是如何可以工作。

來源:Force browser to clear cache

0

一招我有時用的是一個參數添加到鏈接文件。所以,如果它是你想要更新的樣式表,使用類似screen.css?version = 123的東西。然後,您可以將其更新爲124,並且瀏覽器將會忘記它的緩存版本並再次獲取它。小心不要在活網站上更新頻繁 - 如果他們每次訪問時都必須下載核心資源,就會毀掉用戶的生活。

這樣做意味着你只需要處理文件的一個命名版本。這使它簡單。

0

取決於您需要重新加載的資源。您可以使用許多不同的方法,一種常見的方法是使用版本控制或時間戳來請求。因此,當你得到需要繞過緩存的文件時,你可以使用時間戳來請求它們,例如像這樣(Exaple使用C#+ Razer)。

<script src="/Js/[email protected]" type="text/javascript"></script> 
1

你應該能夠與「元」標籤純HTML做到這一點。 元標籤屬於「標題」標籤,用於許多不同的事情,包括防止緩存和事實上到期的內容。

<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> 

這些是2個好的標籤。好的瀏覽器應該識別它們。

0

無法從頁面或其結果中清除瀏覽器的緩存。但是,有一些解決方法。

一種方法是將「版本號」附加到資源文件中。這會誘使瀏覽器認爲資源是不同的文件,並會再次下載。 This question有一些答案可以幫助你做到這一點。查詢字符串方法可能是最容易控制和維護的,如果您使用服務器端代碼(如PHP/JSP/ASP.NET)來生成一個唯一的版本號以放入查詢字符串中。請注意,您必須將其構建爲不會在生產中發生,否則您的用戶將被迫每次請求都重新加載資源,這將增加它們的加載時間。

另一種選擇,因爲你正在開發,就是用瀏覽器上的一些開發工具來禁用緩存:

  • Chrome開發者工具有這個原生支持。請參閱this question關於如何在Chrome中停用緩存的接受答案。請注意,您必須在Chrome中打開您的開發人員工具才能使緩存禁用。
  • Firefox有幾種方式來執行此操作,如SuperUser上的this question中所列舉的。
  • Internet Explorer的開發者工具也支持這個功能,這在SuperUser的this question中很明顯。您可能必須保持開放式工具的開放才能保持有效。

如果您使用不同的(或多種)瀏覽器進行開發/測試,您應該能夠Google如何禁用相應瀏覽器上的緩存。

Firefox和鉻也支持Ctrl鍵 + + - [R,或 + F5緩存少頁面重新加載。

+0

而不是版本號,你可以使用文件的最後修改時間。作爲查詢字符串參數追加! – Doin 2014-03-15 19:03:53

+0

@Doin最後一次修改日期是一種版本編號,它只是基於日期而不是任意數字附加到潛在的任意更改步驟。我特意將它放在'''中,以表明它可以是任何類型的數字/值,在需要時可以更改。 – ajp15243 2014-03-15 21:19:22

+0

好吧,只是「版本號」可能不會提示「最後修改日期」那些可能會讀到這個的人,以及「最後修改日期」是一個特別簡單的解決方案,因爲你不必跟蹤任何事情,所以我想我應該提及它。 – Doin 2014-03-16 21:58:32

相關問題