Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 禁用as3缓存_Actionscript 3_Caching - Fatal编程技术网

Actionscript 3 禁用as3缓存

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

我在flash player中运行了一个AS3应用程序,旨在刷新存储在服务器上的图像。每隔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设置


问候。

谢谢你的提示,韦斯珀, 我终于找到了一种禁用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是不需要的,而且我认为它们在任何方面都没有帮助。标题完成了它的工作:)它太棒了,太有用了。