javascript – 将任意flash对象wmode更改为透明

我需要将wmode的任意flash对象从外部js文件更改为透明,以确保它们不会隐藏菜单而不使用 Jquery或类似的libs.

在FF中,我使用getElementsByTagName(“embed”)和set属性.似乎运作良好

具体来说,我在IE7中由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设置为透明的一切可能方式,使Flash不会隐藏浮动对象,而不会成功,包括但不限于:

>搜索OBJECT并将其ParaM wmode更改为透明.
>设置Object的属性(wmode = transparent)
>调用对象的SetValue函数

没有似乎工作.虽然wmode似乎改变了Flash仍然隐藏其他具有较高z-index的对象.我在这里缺少什么?

解决方法

我已经成功了这个小技巧:
$("embed").attr("wmode","opaque").wrap('<div>');

它有效地重绘Flash对象,为我工作.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...