2011-03-04 60 views
0

所以下面的代码是李的实施工作正常第一次加载,但都疯了预加载的时候,浏览器加载一个缓存文件,跳跃从0%到100%随机AS3预加载器缓存问题?

事情我已经试过无济于事:

  • 关闭gzip压缩,尽管我不认为这是
  • 使用ENTER_FRAME,而不是进步 和完整

    l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop); 
        l.contentLoaderInfo.addEventListener(Event.COMPLETE, done); 
        l.load(new URLRequest("http://www.foo.com/foo.swf")); 
    
        function loop(e:ProgressEvent):void 
        { 
         perc = Math.round(e.bytesLoaded/e.bytesTotal * 100); 
         lt.text = String(perc); 
         if (perc >= 100) 
          l.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, loop); 
        } 
    
        function done(e:Event):void 
        { 
         l.contentLoaderInfo.removeEventListener(Event.COMPLETE, done); 
         addChild(l); 
        } 
    

我不相信我加载它不止一次:

public function Main():void 
     { 
      if (stage) init(); 
      else addEventListener(Event.ADDED_TO_STAGE, init); 
     } 

     private function init(e:Event = null):void 
     { 
      removeEventListener(Event.ADDED_TO_STAGE, init); 
      Security.allowDomain("http://www.foo.com"); 
      preLoader(); 
     } 
+0

你加载同一个文件一遍又一遍? – Daniel 2011-03-04 17:29:15

+0

我更新了帖子,希望能够显示它不会一遍又一遍的加载 – RValentine 2011-03-04 18:21:24

回答

0

我发现发生的问题,因为文件上的附加域主办。

为了解决这个问题,我改变了URL引用的主要领域:从

l.load(new URLRequest("http://www.foo.com/foo.swf")) 

l.load(new URLRequest("http://foo.maindomain.com/foo.swf")) 

,并添加

Security.allowDomain("http://foo.maindomain.com");