我正在开发一个Flash文件,该文件将上传到我无法控制的数十个网站。我发现其中一个似乎正在吞噬swf,这导致loaderInfo.bytesTotal
为零。这搞砸了加载动画。
我尝试了一种只测试bytesTotal
是否为零的解决方法,如果是这样,只需继续。这不起作用,因为正如预期的那样,尚未加载所有必要的数据。或者,我可以对预期的加载时间进行定时延迟,并希望它涵盖所有基础。
有没有人有任何其他建议?理想情况下,有另一种方法可以定义bytesTotal
,但我还没找到。{/ p>
仅供参考,这与此问题有些相关:Why loaderInfo.bytesTotal is Zero
但我不能做htaccess建议,因为我无法控制其他网站,其中一些可能在Windows服务器上。
答案 0 :(得分:0)
如果可能的话,你可以通过flashvars传递总字节数,或者将它存储在文件中的somwhere中。 如果您使用某些脚本来定义文件,那么您也可以使用大小并将其传递给flash,以便如果totalbytes为0,则可以根据以其他方式给出的大小来计算进度。
这是我对此问题所知的唯一解决方案。
答案 1 :(得分:0)
您可能需要考虑更改方法,以便可以逐步加载电影。如果在符号定义中取消选中“在第1帧上导出”,则所有内容都将加载到首次使用/引用的位置。请注意,只有在您允许Flash使用IDE将大部分对象放置在舞台上时,这才有效。要了解有关此方法的更多信息,请查看http://www.developria.com/2010/04/combining-the-timeline-with-oo.html。该文章的代码在http://flexdiary.blogspot.com/2010/04/sample-code-for-oop-timeline-insideria.html
答案 2 :(得分:0)
问题是Google Chrome使用的是自己版本的Flash播放器。如果您在Chrome设置中停用它,则bytesTotal就可以了。但是,你当然不能告诉所有人禁用它。
我找到了解决方案,您可以在每种情况下检测整个装载完成的时间。您可以查看以下答案:Why loaderInfo.bytesTotal is Zero