【Firefox】重绘引发Flash重新加载

今天碰到一个bug,仅火狐出现,先放一段代码:

<div>
    <object>
        <param name="wmode" value="opaque" />
        <embed></embed>
    </object>
</div>

这时,如果你改变div的overflow,或者width之类的,引起了div的重绘,貌似这会引起整个body范围内的重绘。


因为是body的重绘,所以为了不让flash跟着遭殃,只好把它放到body同级上,然后使用绝对定位去匹配位置。

即最后的代码结构是:

<html>
    <body></body>
    <div></div>
</html>


这是唯一的解决方法,不信您在试试别的,下面这位已经试过N种了,本着拿来主义的原则,我就懒得试了

http://fed.renren.com/archives/468


终极解决方案:Flash消失是因为它重新加载后找不到需要的数据,所以Flash最好要设置一个回调函数,在Flash加载完成时,调用一个JS方法,在这个方法里,设置Flash用到的数据,这样就不会出现这种问题了

posted @ 2012-05-16 22:51  越己  阅读(251)  评论(0编辑  收藏