原文是Flash支持中心的兩篇文章 解決Flash緩存問題 | 解決載入變量緩存問題
使用以下的方法,使SWF文件強制不從瀏覽器讀本地的緩存;驈娭破銼WF文件每次都去讀取最新的媒體文件,確保每次都讀取最新的SWF文件。
1:使用"Expires"標(biāo)頭 這是在HTML文件中告訴瀏覽器不讀取本地緩存 在<head> </head> 中間加以下代碼
<!-- BEGIN INSERT --> <META HTTP-EQUIV="Expires" CONTENT="Mon, 04 Dec 1999 21:29:02 GMT"> <!-- END INSERT -->
這樣的話,每次訪問這個文件都會告訴瀏覽器其緩存版本過期,將重新從服務(wù)器端讀取最新的文件
2:直接告訴瀏覽器根本就沒有緩存 在包含SWF文件的HTML頁面里的</body>插入:
<!-- BEGIN INSERT -->
<HEAD> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> </HEAD>
<!-- END INSERT -->
沒有Cache標(biāo)頭 不支持IE5版本,所以微軟建議使用帶Cacahe控制標(biāo)頭
3:當(dāng)在HTML頁面間連接跳轉(zhuǎn)時 在點擊超連接時將強制其從服務(wù)器上下載最新文檔而不是從本地緩存中瀏覽
例如:
<A HREF="stockPrices.htm?1">Current stock prices</A>
以上方法將阻止讀取本地緩存
如何阻止從緩存中讀取加載變量?
問題: 當(dāng)從外部數(shù)據(jù)源加載數(shù)據(jù)時,有時瀏覽器將數(shù)據(jù)存貯在本地緩存中,這樣就導(dǎo)致在調(diào)用loadVariables方法加載數(shù)據(jù)時會從本地緩存中讀取數(shù)據(jù)而代替從原始數(shù)據(jù)讀取的信息。
解決: 為確保flash加載的是最新的變量,附加一個隨機數(shù)變量,這樣就可以原始檔中加載最新的數(shù)據(jù)
方法一:
loadVariables("mypage.asp?nocache=" + random(65000), 0, "POST");
方法二:
loadVariables("mypage.asp?nocache=" + getTimer(), 0, "POST");
這樣確保每次加載的數(shù)據(jù)是最新的。
|