Flash 緩存問(wèn)題的解決方案

2010-08-28 10:46:59來(lái)源:西部e網(wǎng)作者:

       使用以下的方法,使SWF文件強(qiáng)制不從瀏覽器讀本地的緩存;驈(qiáng)制其SWF文件每次都去 讀取最新的媒體文件確保每次都讀取最新的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èn)這個(gè)文件都會(huì)告訴瀏覽器其緩存版本過(guò)期,將重新從服務(wù)器端讀取最新的文件

  2:直接告訴瀏覽器根本就沒(méi)有緩存

  在包含SWF文件的HTML頁(yè)面里的</body>插入:

<!-- BEGIN INSERT -->

<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>

<!-- END INSERT -->

  沒(méi)有Cache標(biāo)頭 不支持IE5版本,所以微軟建議使用帶Cacahe控制標(biāo)頭

  3:當(dāng)在HTML頁(yè)面間連接跳轉(zhuǎn)時(shí)

  在點(diǎn)擊超連接時(shí)將強(qiáng)制其從服務(wù)器上下載最新文檔而不是從本地緩存中瀏覽

  例如:

<A HREF="stockPrices.htm?1">Current stock prices</A>

  以上方法將阻止讀取本地緩存

  如何阻止從緩存中讀取加載變量

  問(wèn)題:

  當(dāng)從外部數(shù)據(jù)源加載數(shù)據(jù)時(shí),有時(shí)瀏覽器將數(shù)據(jù)存貯在本地緩存中,這樣就導(dǎo)致在調(diào)用loadVariables方法加載數(shù)據(jù)時(shí)會(huì)從本地緩存中讀取數(shù)據(jù)而代替從原始數(shù)據(jù)讀取的信息。

  解決:

  為確保flash加載的是最新的變量,附加一個(gè)隨機(jī)數(shù)變量,這樣就可以原始檔中加載最新的數(shù)據(jù)

  例如:

  方法一:

loadVariables("mypage.asp?nocache=" + random(65000), 0, "POST");

  方法二:

loadVariables("mypage.asp?nocache=" + getTimer(), 0, "POST");

  這樣確保每次加載的數(shù)據(jù)是最新的.

關(guān)鍵詞:Flash

贊助商鏈接: