我正在使用下面的預加載器AS3代碼。它不工作! 當我在Flash CS5.5上執行時可以正常工作,但不能在線。預加載器閃存AS3它不再工作[GZIP問題]
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("movie.swf"));
function loop(e:ProgressEvent):void
{
var perc:Number = e.bytesLoaded/e.bytesTotal;
percent.text = Math.ceil(perc*100).toString();
}
function done(e:Event):void
{
removeChildAt(0);
percent = null;
addChild(l);
}
我發現問題和解決方案!
問題是因爲我的在線服務器上有Apache的mod_deflate選項的gzip。
mod_deflate模塊提供了DEFLATE輸出過濾器,它允許服務器的輸出在通過網絡發送到客戶端之前被壓縮。
所以movie.swf被壓縮了gzip。這是一個很大的問題。
這裏的解決方案:
好了,只需要創建或把一些代碼到.htaccess文件在服務器根目錄文件夾。
創建一個文件(或者把這個代碼進入)的.htaccess
SetEnv no-gzip dont-vary
# Don't compress images/flash
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|swf|flv)$ no-gzip dont-vary
玩得開心:P
什麼具體不工作?另外我不認爲將'percent'設置爲'null'是你想要在那裏做的。 – Marty 2012-07-19 23:05:33