Actionscript 3 禁用as3缓存
我在flash player中运行了一个AS3应用程序,旨在刷新存储在服务器上的图像。每隔1秒,服务器将用新映像替换映像 要从服务器而不是缓存中获取图像,我必须添加使用随机数方法,如下所示:Actionscript 3 禁用as3缓存,actionscript-3,caching,Actionscript 3,Caching,我在flash player中运行了一个AS3应用程序,旨在刷新存储在服务器上的图像。每隔1秒,服务器将用新映像替换映像 要从服务器而不是缓存中获取图像,我必须添加使用随机数方法,如下所示: loader = new URLLoader(); var request:URLRequest = new URLRequest( "http://www.theServer.com/myImage.png?random"+(Math.random() * 10000)); loader.load
loader = new URLLoader();
var request:URLRequest =
new URLRequest(
"http://www.theServer.com/myImage.png?random"+(Math.random() * 10000));
loader.load(request);
,整个刷新过程都正常工作
但令人恼火的是,此方法在不断增长的临时文件夹中生成临时文件:
C:\Users\MyName\AppData\Local\Microsoft\Windows\INetCache
有没有一种方法可以像使用Air一样禁用缓存?
我这样问是因为该应用程序运行在带有flash player 10的嵌入式平台上,在该平台上可能无法访问flash player设置
问候。谢谢你的提示,韦斯珀, 我终于找到了一种禁用AIR和actionscript缓存的方法:
function loadURLWitoutCaching(theURL:String):void
{
var _imgLoader:Loader = new Loader();
_imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
_imgLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onLoadingError);
var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache");
var request:URLRequest = new URLRequest(theURL);
request.data = new URLVariables("cache=no+cache");
request.method = URLRequestMethod.POST;
request.requestHeaders.push(header);
try {
_imgLoader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
}
private function onLoadingError(e:IOErrorEvent):void
{
// Do something
}
private function onLoadComplete(evt:Event):void
{
// Do something
}
我不确定“URLVariables”是强制性的,但它似乎有帮助
现在,在“C:\Users\myName\AppData\Local\Microsoft\Windows\INetCache”文件夹中,我看不到更多的图像被缓存
祝您愉快。使服务器返回
pragma:no cache
标题,以及指示浏览器不缓存该请求结果的其他标题。这样,您就不需要将随机数添加到请求中。urlvar是不需要的,而且我认为它们在任何方面都没有帮助。标题完成了它的工作:)它太棒了,太有用了。