您现在的位置: 星云电脑教程 >> 电脑教程 >> 平面设计 >> flash >> 正文

解决Flash 缓存问题的方法

星云电脑教程 文章来源:梅州商务 作者:星云整理 更新时间:2005-11-11 14:33:45 点击数有问必答

  使用以下的方法,使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");
  
  这样确保每次加载的数据是最新的。

>>