禁用 as3 缓存
Disable as3 caching
我在 Flash 播放器中有一个 AS3 应用程序 运行ning,它旨在刷新存储在服务器上的图像。每隔 1 秒,服务器就会用一个新图像替换图像。
要从服务器而不是缓存中获取图像,我必须添加使用随机数方法,如下所示:
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 设置。
此致。
感谢 Vesper 的提示,
我终于找到了一种禁用 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" 文件夹中看不到任何缓存的法师了。
祝你有美好的一天。
我在 Flash 播放器中有一个 AS3 应用程序 运行ning,它旨在刷新存储在服务器上的图像。每隔 1 秒,服务器就会用一个新图像替换图像。
要从服务器而不是缓存中获取图像,我必须添加使用随机数方法,如下所示:
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 设置。
此致。
感谢 Vesper 的提示, 我终于找到了一种禁用 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" 文件夹中看不到任何缓存的法师了。
祝你有美好的一天。