Nir*_*Nir 10 javascript flash swfobject object wmode
我需要将wmode
任意flash对象从外部js文件更改为透明,以确保它们不使用Jquery或类似的lib来隐藏菜单.
在FF我使用getElementsByTagName("embed")
和设置属性.它似乎运作良好.
具体来说我在IE7 中遇到了object
由swfObject
库设置的问题.
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>
Run Code Online (Sandbox Code Playgroud)
我尝试各种可能的方法来设置wmode
到transparent
,使闪光灯无法掩盖漂浮物没有成功,包括但不限于:
OBJECT
并更改PARAM
wmode
为transparent
.Object
(wmode=transparent
)object
的SetValue
功能似乎没有工作.虽然wmode似乎改变了Flash仍然隐藏其他高对象的对象z-index
.我在这里错过了什么?
小智 10
我用这个小技巧成功了:
$("embed").attr("wmode", "opaque").wrap('<div>');
Run Code Online (Sandbox Code Playgroud)
它有效地重绘了flash对象,为我工作.
当您使用 SWFObject 包含 Flash 时,embedSWF 方法中应该有一个名为“params”的参数。您将一个对象传递给它,如下所示:
swfobject.embedSwf(blah,blah,blah, { wmode:'transparent'});
Run Code Online (Sandbox Code Playgroud)