建站学 - 轻松建站从此开始!

建站学-个人建站指南,网页制作,网站设计,网站制作教程

当前位置: 建站学 > 图像设计 > Flash教程 >

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

时间:2011-05-05 10:25来源:博客园 作者: 点击:
问题描述:公司合作的一个酒店预订网站需要在页面上投广告,但对方给了一个flash文件,要求链接到其首页。直接在html的flash object前面加上,发现链接是点不动的。解决过程:开发人员没有意识到这个问题,写出的问题代码如下:1

这是一个工作中遇到的一个问题及其解决办法。问题描述:公司合作的一个酒店预订网站需要在页面上投广告,但对方给了一个flash文件,要求链接到其首页。直接在html的flash object前面加上<a href=...>,发现链接是点不动的。

解决过程:

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

1<a href="http://www.youiyou.net">
2    <object classid="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=http://tech.ddvip.com/2009-06/"*.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,然后定义button的onclick事件,但这种方式在firefox下工作不正常。

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

1<button style="width:468;height:60;background:transparent;border:0;padding:0;cursor:hand" onclick="window.location.href='http://www.youiyou.net/'">
2    <object classid="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=http://tech.ddvip.com/2009-06/"*.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.gif是一个透明的图片。效果如下所示

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

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

title,鼠标手形均正常

 1<div style="z-index:-1">
 2    <object classid="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=http://tech.ddvip.com/2009-06/"*.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=http://tech.ddvip.com/2009-06/"blank.gif" width="468" height="60" border="0" /></a></div></div>
10

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片