2006/01/28 | 如何阻止从缓存中读取加载变量(转载)
类别(Flash&AS2) | 评论(0) | 阅读(60) | 发表于 15:33
问题:
当从外部数据源加载数据时,有时浏览器将数据存贮在本地缓存中,这样就导致
在调用loadVariables方法加载数据时会从本地缓存中读取数据而代替从原始数据源
读取的信息。

解决:
为确保flash加载的是最新的变量,附加一个随机数变量,这样就可以原始档中加载最新的数据

例如:
方法一:
loadVariables("mypage.asp?nocache=" + random(65000), 0, "POST";

方法二:
loadVariables("mypage.asp?nocache=" + getTimer(), 0, "POST";
这样确保每次加载的数据是最新的.

[补充]

然而在实践中,我取发现在页面含有SWF文件时使用MM提供的方法,有时不是很灵验。

经过不断的测试,我发现使用一下的方法可以百分之百的解决flash读取本地缓存的问题

首先我们来看看页面中包含flash文件的代码:



其红色的部分就是代表你要调用的flash 资源。我们可以简单的在其后附加一个变量就可以强制页面每次都从服务器端调用最新的SWF文件。

例如:xxxx.swf?rand=12334567


方法一: 如果是HTML页面,其不能自动改变变量的值,所以当你的SWF文件修改后上传服务器,你只要手工修改rand变量后面的数值就可以防止页面读取本地的SWF文件信息。


方法二: 如果你的页面是asp,php动态页面,则可以通过脚本来实现其动态修改变量值。

例如在asp页面中,使用vbscript产生一个随机数


然后在你那一堆置入SWF文件的代码中,找到SWF文件名,并修改其为:


embed src="****.swf?rand="

0

评论Comments

日志分类
首页[116]
Flash&AS2[56]
FMS[3]
Flex&AS3[5]
Asp[5]
My Works[13]
My Life[34]