我需要将任意Flash对象的wmode从外部js文件更改为透明,以确保它们在不使用Jquery或类似库的情况下不会隐藏菜单。

在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>

我尝试了所有可能的方法来将wmode设置为transparent,并使Flash不会成功隐藏 float 对象,包括但不限于:
  • 搜索OBJECT并将其PARAM wmode更改为transparent
  • 设置Object(wmode=transparent)的属性
  • 调用objectSetValue函数

  • 似乎没有任何工作。尽管wmode似乎发生了变化,但Flash仍会隐藏其他带有高z-index的对象。我在这里想念什么?

    最佳答案

    这个小技巧使我成功了:

    $("embed").attr("wmode", "opaque").wrap('<div>');
    

    它有效地重画了Flash对象,为我工作。

    关于javascript - 将任意Flash对象wmode更改为透明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/534474/

    10-09 13:51