html去緩存
『壹』 【瀏覽器緩存問題】HTML靜態文件中,css和js可以添加版本號來刷新緩存,但是只是修改的文字了呢
給網址後面添加一個隨機數(或者是任意的字元串)即可,比如原來的網址是這樣的:
http....../.../1.htm
改為
http....../.../1.htm?1234
即可(注意問號不能省)。
瀏覽器是根據網址來緩存的,所以只要給網址接個尾巴,瀏覽器就會認為是新網址,就會從網上重新下載數據了。當然,如果下次再次改變了網頁內容,這個尾巴就要再次修改。
給css和js添加所謂版本號其實也是同一個原理。這個版本號其實就是給css和js的網址接個尾巴而已。
這個也同樣適用網頁裡面的圖片、音樂等資源,事實上只要是http協議的元素都可以利用這個辦法來避開緩存實時刷新。
『貳』 如何快速刪除某頁面的html緩存
一般的瀏覽器使用 ctrl+F5 就可以強制跳過緩存刷新頁面,
如果是chrome瀏覽器:
一、可以使用ctrl+shift+R來強制跳過緩存刷新頁面
二 、也可以使用 ctrl+shift+delete 來選擇要刪除的瀏覽記錄
『叄』 如何在HTML文件里設置禁止瀏覽器緩存網頁
就這句,對的,每次刷新都強制從伺服器上重新載入網頁:
meta http-equiv=Cache-Control content=no-cache />
你是不是想要網頁的圖片什麼都不被保存到本地緩存目錄?那個暫時不可能,目前所有瀏覽器都做不到。
『肆』 微信公眾號html緩存處理
近期在發版驗證時遇到一個問題,微信公眾號登入後頁面顯示的是老的,強制刷新後,再退出重新登入,仍然顯示的是老的頁面;
經過一番查找得到了解決方案:
(1)公眾號放的菜單地址後加 ?version=1.0.0 每次更新頁面則更新菜單;
但是這樣每次發版還得修改公眾號的菜單,多一步很不方便;
於是和前端一塊嘗試尋找到另一中解決方案:
(2)前端在html的header中加入緩存策略
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="Cache" content="no-cache" />
這樣就徹底解決了緩存問題;
但是注意,往往遇到此問題時,已經緩存了沒有加緩存策略的html文件,需要清除掉緩存,載入新的帶緩存策略的html文件,將來才會實時更新;但是也不能讓用戶每個都清理緩存啊;
於是就要配合第一種解決方法,在菜單鏈接後面加參數,這樣用戶側會重新load新版本的html(微信菜單設置發布後,有將近10分鍾的延時),這樣配合使用就完美解決了我們的問題;
期間多次嘗試發現,微信的緩存策略和頁面地址的後綴參數相關,使用相同的後綴,在不設置緩存策略下,就能回到對應的版本,很強大,也很雞肋
『伍』 html5嵌入到app中,緩存如何去掉
Android的話可以使用webview緩存設置
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
這樣webView就不會去載入緩存了,或者,每次退出時手動刪除webView緩存,應用databases目錄下有兩個we
『陸』 解決網頁或FLASH的緩存問題,你用的是什麼方法解決的 謝謝了
在網頁設計人員而言,當Flash文件更改後,在瀏覽器里觀看效果時,必須清一下緩存才能瀏覽更新後的Flash文件,這次Flash文件製作初期,可能會要不斷的進行修改以及調試,這樣每次都要清緩存將是必較頭痛的事。
使用以下的方法,使SWF文件強制不從瀏覽器讀本地的緩存。或強制其SWF文件每次都去讀取最新的媒體文件,確保每次都讀取最新的SWF文件。
1:使用"Expires"標頭 這是在HTML文件中告訴瀏覽器不讀取本地緩存
在<head> </head> 中間加以下代碼
<!-- BEGIN Insert -->
<META HTTP-EQUIV="Expires" CONTENT="Mon, 04 Dec 1999 21:29:02 GMT">
<!-- END Insert -->
這樣的話,每次訪問這個文件都會告訴瀏覽器其緩存版本過期,將重新從伺服器端讀取最新的文件
2:直接告訴瀏覽器根本就沒有緩存
在包含SWF文件的HTML頁面里的</body>插入:
<!-- BEGIN Insert -->
<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
<!-- END Insert -->
沒有Cache標頭 不支持IE5版本,所以微軟建議使用帶Cacahe控制標頭
3:當在HTML頁面間連接跳轉時
在點擊超連接時將強制其從伺服器上下載最新文檔而不是從本地緩存中瀏覽
例如:<A HREF="stockPrices.htm?1">Current stock prices</A>
以上方法將阻止讀取本地緩存
如何阻止從緩存中讀取載入變數
問題:
當從外部數據源載入數據時,有時瀏覽器將數據存貯在本地緩存中,這樣就導致在調用loadVariables方法載入數據時會從本地緩存中讀取數據而代替從原始數據讀取的信息。
解決:
為確保flash載入的是最新的變數,附加一個隨機數變數,這樣就可以原始檔中載入最新的數據
例如:
方法一:
loadVariables("mypage.asp?nocache=" + random(65000), 0, "POST");
方法二:
loadVariables("mypage.asp?nocache=" + getTimer(), 0, "POST");
這樣確保每次載入的數據是最新的。