IE9或以上的浏览器flash值为空时,导致domready不触发

时间:2023-03-09 02:24:10
IE9或以上的浏览器flash值为空时,导致domready不触发

在前些时间开发中遇到一个问题
当flash值<param name="movie" value=""/>为空时,IE版本>=9不会触发domready事件。

代码如下:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="200" height="150">
<param name="movie" value=""/>
<param name="quality" value="high"/>
<param name="wmode" value="Opaque"/>
<embed src="http://www.test.com/a.swf" wmode="Opaque" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="200" height="150" />
</object>

以上代码的name="movie"的value值为空,那么在IE9+,他的domready事件和onload事件永远不会被触发。
或者<param name="movie" value=""/>整句不写,也会出现该问题。

解决方法,要补上缺省值,只要不为空,则可解决问题。如:<param name="movie" value="test"/>