IE不能获取到完整的Object标签?当然能!!问题是通过何种方式去获取。
object.outerHTML or object.parentNode.innerHTML ?
yss最开始尝试使用上面两种方式去获取下面的object标签:
<div class="movie" id="js_Movie">
<object width="960" height="480" id="FPlayer" data="http://swf.ws.126.net/v/ljk/neteaseplayer/NeteaseMp4Player.swf" type="application/x-shockwave-flash">
<param value="true" name="allowFullScreen">
<param value="always" name="allowscriptaccess">
<param value="opaque" name="wmode">
<param value="http://swf.ws.126.net/v/ljk/neteaseplayer/NeteaseMp4Player.swf" allownetworking="all" name="movie">
<param value="pltype=1&pid=M7D5DTKM0&mid=T7DNDALQS&threadCountPath=http://v.163.com/comment/0085/tv_bbs/M0/7D5DTKM0008535RB.js&threadListPath=http://comment.v.163.com/tv_bbs/7D5DTKM0008535RB.html&coverpic=http://vimg1.ws.126.net/image/snapshot_movie/2011/10/M/1/M7D5DTKM1.jpg&advxml=adv.xml" name="flashvars">
</object>
</div>
但是yss在IE下得到这么一个结果:
<object width="960" height="480" id="FPlayer" data="http://swf.ws.126.net/v/ljk/neteaseplayer/NeteaseMp4Player.swf" type="application/x-shockwave-flash"></object>
IE隐藏了param标签?当然不是了!
MSDN上有这么一句话:Note Properties set by a PARAM element cannot be altered by changing the PARAM object.
这句话就说明了原因。
那总归有解决办法吧!网上给出的解决办法就是:
一是通过object.childNodes能够获取在这个object下所有的param标签。
二是object.getElementsByTagName('param')获取,但是这种方案获取到的就是整个页面的param标签。
所以最佳办法就是第一种。