我正在使用下面的预加载器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