通常,我们给flash动画加链接,是在flash内部加的,直接用flash的ActionScript中的url方法可以轻松搞定。但是那样会带来一些使用上出现的问题,譬如它作为一个广告flash,有时候需要更换链接来宣传不同的产品,如果每次都要重新修改flash,就会使设计人员浪费额外的时间来操作这个事情;另一方面,点击flash内部链接打开另一个页面,那么那个页面是统计不出点击来路的,而是视为直接输入。
为了解决上述的问题,我们需要在网页上也就是flash外部给flash添加链接,简单的说,就是把flash视作一张图片的效果。
下面是我在网上找到的几个方法,经过测试是可行的。
一、为flash新增透明层
(▲点击Flash)原理是定义一个与flash等高等度的链接标签a,然后通过css把标签a定位到flash上面进行透明覆盖。上面这个html方式给flash加链接的代码如下:
<EMBED pluginspage=http://www.macrom edia.com/go/getflashplayer src=http://www.webkaka.com/blog/upload/2011/6/flashDemo20110622.swf type=application/x-shockwave-flash width=480 height=60 wmode=transparent quality=high></EMBED><br / >
<a href='http://www.webkaka.com' style='display:block;width:480px;height:60px;position:absolute;margin-top:-60px; z-index:999;background:#000;filter:alpha(opacity=0);-moz-opacity:0;opacity: 0' title='卡卡网速测试'></a>
二、用按钮控件BUTTON 来实现
具体步骤
1.直接在按钮上加上onClick事件打开指定页面:
<button style="width:225;height:76;border:none;background:transparent"
onClick="window.open('http://www.flash8.net\',\'_blank\')" hidefocus>
<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="225" height="76">
<param name="movie"
value="http://www.flash8.net/images/head/bbs.swf">
<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="http://www.flash8.net/images/head/bbs.swf"
quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="225" height="76" wmode="Opaque"></embed>
</object>
</button>
2.方法1中的代码运行后单击按钮时,按钮中的Flash有个下沉的动作,如果要取消这个动作,可以禁止按钮的交互性,然后用标准的A标签做链接,代码如下:
<a href="http://www.flash8.com" hidefocus><button disabled style="width:225;height:76;border:none">
<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="225" height="76">
<param name="movie"
value="http://www.flash8.net/images/head/bbs.swf">
<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="http://www.flash8.net/images/head/bbs.swf" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="225" height="76" wmode="Opaque"></embed>
</object>
</button>
</a>
注意:必须设置 Flash 对象的 wmode 属性值为 Opaque。
技巧:方法1中代码第二行的_blank参数可以去掉或者修改为_self让链接在当前窗口打开。
特别提示:代码运行后,在Flash上单击,将打开代码中指定的URL。
特别说明
本例问题的解决,主要是利用Flash对象的wmode属性和BUTTON标签的特性。设置Flash对象的wmode属性值为opaque,是为了降低Flash对象的优先级,然后利用BUTTON标签把Flash对象渲染为一个按钮,这样就可以通过设置BUTTON对象的样式或事件来解决问题。
☉flash消除动态文本锯齿的方法 (2010-3-14 23:0:42)
☉实例演示flash怎样利用as动态画柱状图【附源文件下载】 (2009-8-4 22:16:59)
☉实例演示flash利用as动态画线画圆【附源文件下载】 (2009-8-4 3:30:40)
丰胸精油排行榜 的最新文章:开始的恢复时间灵活丰胸精油排行榜
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。