2011-03-04 88 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");