我需要将任意 flash 对象的 wmode
更改为对外部 js 文件透明,以确保它们不会在不使用 Jquery 或类似库的情况下隐藏菜单。
在 FF 中,我使用 getElementsByTagName("embed")
并设置属性。看起来效果不错。
具体来说,我在使用 IE7 中的 swfObject
库设置的 object
时遇到了问题。
swfObject
在 iE7 中创建以下代码:
<OBJECT id=mymovie height=400 width=134 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
<PARAM NAME="_cx" VALUE="3545">
<PARAM NAME="_cy" VALUE="10583">
<PARAM NAME="FlashVars" VALUE="">
<PARAM NAME="Movie" VALUE="imgs/site/tower.swf">
<PARAM NAME="Src" VALUE="imgs/site/tower.swf">
<PARAM NAME="WMode" VALUE="Window">
<PARAM NAME="Play" VALUE="0">
<PARAM NAME="Loop" VALUE="-1">
<PARAM NAME="Quality" VALUE="High">
<PARAM NAME="SAlign" VALUE="">
<PARAM NAME="Menu" VALUE="-1">
<PARAM NAME="Base" VALUE="">
<PARAM NAME="AllowScriptAccess" VALUE="">
<PARAM NAME="Scale" VALUE="ShowAll">
<PARAM NAME="DeviceFont" VALUE="0">
<PARAM NAME="EmbedMovie" VALUE="0">
<PARAM NAME="BGColor" VALUE="FFFFFF">
<PARAM NAME="SWRemote" VALUE="">
<PARAM NAME="MovieData" VALUE="">
<PARAM NAME="SeamlessTabbing" VALUE="1">
<PARAM NAME="Profile" VALUE="0">
<PARAM NAME="ProfileAddress" VALUE="">
<PARAM NAME="ProfilePort" VALUE="0">
<PARAM NAME="AllowNetworking" VALUE="all">
<PARAM NAME="AllowFullScreen" VALUE="false">
</OBJECT>
我尝试了所有可能的方法将wmode
设置为transparent
并使flash不隐藏 float 对象但没有成功,包括但不限于:
- 搜索
OBJECT
并将其PARAM
wmode
更改为transparent
。 - 设置
对象
的属性(wmode=transparent
) - 调用
对象
的SetValue
函数
似乎没有一个有效。虽然 wmode 似乎有所改变,但 Flash 仍然隐藏了其他具有高 z-index
的对象。我在这里缺少什么?
最佳答案
我用这个小技巧成功了:
$("embed").attr("wmode", "opaque").wrap('<div>');
它有效地重绘了 flash 对象,对我有用。
关于javascript - 将任意 flash 对象 wmode 更改为透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/534474/