预载闪存AS3它不再工作[GZIP问题](Preloader flash AS3 it's

2019-10-17 01:57发布

我使用的是低于此预加载AS3代码。 而且它不工作! 当我执行的Flash CS5.5工作正常,但不能上网。

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);
}

我发现的问题和解决方案!

问题是,因为我的在线服务器已gzip压缩上与Apache mod_deflate模块选项。

该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

Answer 1:

如果它不联机工作,但本地工作,那么这里的一些好的地方开始。

  1. 请确保您的文件在现货您的应用程序认为它是
  2. 从您的网络设置都设置为远程和本地不闪光输出时确认。 要对此进行检查,转到发布设置,然后闪光灯选项卡,然后下到先进的部分,在那里它说:“本地播放安全性”。

这是很好的做法,听取了错误,而不仅仅是进度/在你的装载机完整的事件,那么你可以跟踪这些问题更容易。

IOErrorEvent.IO_ERRORSecurityErrorEvent.SECURITY_ERROR听众会证实上述可能存在的问题。



Answer 2:

问题是,当你在网上上传,该程序试图在那里你上传它到达movie.swf对本网站的FTP。 所以movie.swf到自己的域名,然后粘贴它的URL。 例如:

l.load(new URLRequest("http://mysite.com/movie.swf"));


Answer 3:

如果你有机会到服务器的.htaccess文件,但是如果你不这样做你的解决方案的伟大工程。 我发现我可以解决这个问题通过将报头到我的HTTP请求。 默认情况下,IE将有一个请求头名为“接受编码”,设置为“gzip的,放气”。 您可以覆盖这个并将其值设置为“X”或什么的。 什么,但“压缩”

例如。

VAR头:的URLRequestHeader =新URLRequestHeader( “接受编码”, “XXX”);

VAR请求:的URLRequest =新的URLRequest( “ http://www.whatever.com/myfile.zip ”); request.requestHeaders = [标题];

VAR装载机:装载机=新的Loader(); Loader.load方法(请求);



文章来源: Preloader flash AS3 it's no longer working [GZIP issue]