当前位置: 首页 > JavaScript > 给Flash加一个超链接(推荐使用透明层)兼容主流浏览器

给Flash加一个超链接(推荐使用透明层)兼容主流浏览器

今天要给星烛网上的一个Flash加一个超链接,原想直接在object外直接套一个超链接即可,试了之后却发现不是这么回事,求助百度,问题解决,记录如下:

原因:Flash默认是最高层.所以,我经常会遇见Flash把下拉菜单挡住的情况,及其它原素覆盖掉.

解决方案:

第一种:步骤如下
1. 把Flash文件放到一个层中,设为最底层,FLASH设为透明.
复制代码 代码如下:

<div class="ad_top" style="text-align:center;">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
width="948" height="93" id="flashlogo" >
<param name="movie" value="../../templets/content/images/slogan.swf">
<param name="quality" value=high>
<embed src="../../templets/content/images/slogan.swf" quality=high width="948" height="93" name="flashlogo"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
<STRONG><SPAN style="COLOR: #cc0000"><param name="wmode" value="transparent" /></SPAN></STRONG>
</object></div>

2. 在FLASH的层上再加上一层,Flash本身不能直接加入onclick.等事件,所以,只能借助别的东西啦.就是在FLASH上加个透明层:
复制代码 代码如下:

<div id="huiLayer" style="cursor: hand; position:absolute; top:142px; width:948px; height:93px; z-index:1; visibility: visible; text-align:center;"><a href="http://www.xzrj.net" target="_blank"> <img src="http://www.xingzhu.net.cn/templets/content/images/transpanrent.gif" width="948" height="93" border="0"></a></div>

说明:transpanrent.gif要是透明的,否则会给底下的Flash盖住;
3. IE浏览器到上面一步就可以了,Firefox还需要下面一步
在embed里加上
复制代码 代码如下:

wmode="transparent"

完整代码如下:
复制代码 代码如下:

<div class="ad_top" style="text-align:center;">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="948" height="93" id="flashlogo" >
<param name="movie" value="../../templets/content/images/slogan.swf"> <param name="quality" value=high>
<embed src="../../templets/content/images/slogan.swf" quality=high width="948" height="93" name="flashlogo" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent"> </embed>
<param name="wmode" value="transparent" />
</object>
</div>
<div id="huiLayer" style="cursor: hand; position:absolute; top:142px; width:948px; height:93px; z-index:1; visibility: visible; text-align:center;"><a href="http://www.xzrj.net" target="_blank"> <img src="http://www.xingzhu.net.cn/templets/content/images/transpanrent.gif" width="948" height="93" border="0"></a></div>

第二种方案,网上找的没有试,如下:
就是在Flash内部通过FSCommand调用外部的脚本,方法简单实用,可控能力强,具体用法,请在网上搜FSCommand关键键字
您可能感兴趣的文章:

相关文章