Laan's steps..

Feed Rss

判断swf是否加载完毕

04.26.2010, flash, by .

判断swf是否加载完毕:

this.loaderInfo.bytesLoaded == this.loaderInfo.bytesTotal

非常抱歉,在lighttpd下,使用ff浏览器,就不正常了。bytesLoaded总是会比bytesTotal小,实际上加载完毕了也是如此。

似乎是头部数据不一样导致。知道正解的同学请留言…

改成:this.framesLoaded==this.totalFrames。这样就更保险了。

补充:
感谢lightoy的提醒:使用framesLoaded和totalFrames判断是否加载完毕可行,但是做加载进度是很不准确的。

判断swf是否加载完毕 有 12 条回应

  1. 2010-04-26 在 17:43 fluensh

    对于不是基于时间轴的swf也适用吗

    回复
  2. @fluensh
    不适合,如果时间轴是10帧,而只有第n帧有内容,那么加载进度只显示(n/10)*100%,最后为100%。

    回复
  3. @lightoy
    不会啊,我测试结果是正常的。可否提供test swf?

    回复
  4. AS3中framesLoaded不能实时模拟下载的帧数?(http://www.lightoy.cn/download/l_test.fla)

    回复
  5. @lightoy
    恩 确实如此。非常感谢。

    回复
  6. 如果只是为了判断是否加载完成..
    用loaderInfo.width是不是也可以
    不报错就是加载完了…偏方偏方~

    回复
  7. @小4
    loaderInfo.width是读取swf头文件的结果。这个很快就能得到,完全不要等待整个swf加载完毕。

    回复
  8. 2010-05-11 在 16:26 davidcao

    监听Event.COMPLETE不就可以了么。。

    回复
  9. 可以用Loader+URLStream 既可以保证加载(也会减轻服务器压力),又可以加密,loader用alchemy写

    回复
  10. 歪歪法子
    root.addEventListener(“allComplete”,allComplete);

    回复
  11. @汪汪
    木有allComplete这个事件吧… 怎么说呢?

    回复

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>