AS3 预加载器缓存问题?
所以下面的代码是 Lee 的预加载器的实现,它在第一次加载时工作正常,但当浏览器加载缓存文件时会变得疯狂,从 0% 随机跳转到 100%
我尝试过但无济于事:
- 关闭 gzip 压缩,但我不这样做认为它是
使用 ENTER_FRAME 而不是进度 并完成
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, 循环); l.contentLoaderInfo.addEventListener(Event.COMPLETE, 完成); l.load(new URLRequest("http://www.foo.com/foo.swf")); 函数循环(e:ProgressEvent):无效 { perc = Math.round(e.bytesLoaded / e.bytesTotal * 100); lt.text = String(perc); 如果 (perc >= 100) l.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, 循环); } 函数完成(e:事件):无效 { l.contentLoaderInfo.removeEventListener(Event.COMPLETE, 完成); 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();
}
So the following code is Lee's implementation of a preloader which works fine first load but goes crazy when the browser loads a cached file, jumping from 0% to 100% randomly
Things I have tried to no avail:
- switching off gzip compression, tho I dont think it is on
Using ENTER_FRAME instead of progress
and completel.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); }
I do not believe I am loading it more than once:
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();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我发现出现问题是因为文件托管在插件域上。
为了解决这个问题,我更改了 url 以引用主域:
从
到
并添加
I discovered the problem happens because the files are hosted on an addon domain.
To fix this I changed the url to reference the main domain:
from
to
and also add