flash挡住div:用div挡住flash 给flash加上链接

  问题描述:公司合作个酒店预订网站WebSite需要在页面上投广告但对方给了个flash文件要求链接到其首页直接在htmlflash object前面加上<a href=...>发现链接是点不动

  解决过程:

  开发人员没有意识到这个问题写出问题代码如下:

1<a href="http://www.youiyou.net">
2    <object id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
3        <param name="movie" value="**.swf">
4        <param name="quality" value="high">
5        <embed src="*.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>
6    </object>
7</a>


  鼠标放上去是没有任何效果原因是默认情况下flash会被放到最高层可能有朋友也碰到过下拉菜单被flash挡住情况也属于这个情况

  网上找到解决方案是用个透明大button包在flash最外层或是用个层盖住flash,然后定义buttononclick事件,但这种方式在firefox下工作不正常

  同时用户最关心seo作用消失了这不是个正常链接是用javascript实现跳转

1<button style="width:468;height:60;background:transparent;border:0;padding:0;cursor:hand" _disibledevent=>2    <object id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
3        <param name="movie" value="**.swf">
4        <param name="quality" value="high">
5        <embed src="*.swf" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>
6        <param name="wmode" value="transparent">
7    </object>
8</button>


  要想具有<a href...>所有原生特性最完美思路方法应该就是用个透明<a href=...>链接盖住flash,最终我们采用了以下代码张大透明图链接盖住flash

  将flash放到了个zindex为-1层中同时设置了wmode属性(代码中 wmode="transparent" 和<param name="wmode" value="transparent">分别在firefox和ie下起作用)

  masker层是用来挡住flash所在层margin-top用到定位blank.g个透明图片效果如下所示

用div挡住flash,给flash加上链接

  图片看不清楚?请点击这里查看原图(大图)

  title鼠标手形均正常

 1<div style="z-index:-1">
 2    <object id="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">
 3        <param name="movie" value="**.swf">
 4        <param name="quality" value="high">
 5        <embed src="*.swf" wmode="transparent" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>
 6        <param name="wmode" value="transparent">
 7    </object>
 8</div>
 9<div id="masker" style="cursor: hand; margin-top:-60px; width:468px; height:60px; z-index:1; visibility: visible;"><a href="http:www.youiyou.net"><img src="blank.g" width="468" height="60" border="0" /></a></div></div>
10




  文章来源:http://www.cnblogs.com/dbgeng/



Tags:  div在flash上面 divflash div被挡住 flash挡住div

延伸阅读

最新评论

发表评论