修改一下Flash的代码,加一个setTimeout:
…(略) public class Main extends Sprite { public function Main():void { …(|>略) //start(); setTimeout(start, 500); } …(|>略) } }
测试修改后的效果
那么,延迟多少比较合适呢?如果太多,用户会感觉到明显的延迟;太少,一些性能较差的电脑上问题依然存在。根据我一年多总结的经验,500ms是比较合理的数字。目前阿里巴巴中国网站上使用的Flash应用程序,如果有需要和js通信,都是延迟500ms初始化。
顺便说一下,延迟500ms还有另外的一个作用。IE6中,Flash初始化的时候无法得到 stage.stageWidth正确的数字,返回是0(stageHeight也一样)。延迟一点初始化就可以得到正确的数值了。
目前我还没有发现比延迟初始化更好的解决方案,如果你有更好的办法,欢迎交流!
本文链接:http://www.blueidea.com/tech/web/2010/8070.asp
出处:alibaba.com中国站
责任编辑:bluehearts
上一页 Flash在多标签浏览器中的问题 [2] 下一页
◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
|