技术文章

怎么给网页中的 Flash 上加超链接?不改变FLASH加超链拉的方法,给FLASH加链接
发布时间:2012-07-08 点击次数:11800

  Q:怎么给网页中的 Flash 上加超链接?
  A:说到这个问题,可能有人就会说,那还不简单,直接用 flash 的ActionScript 中的 url 方法不就搞定了。但是,如果我们的UI人员设计完flash,但flash对应的链结还没有确定或者以后会变更怎么办?我需要的是能够在外部修改flash对应的链结。

    那直接在flash所在的object元素外部加标签来控制不就行了,可能有些人会这么想,思路正确,但是行不通。怎么办?百度一下先,呵呵,真是相当佩服某些人的牛脑,真牛,下面是一种解决的方法:

    首先,我们肯定是要先插入FLASH.因为,Flash默认是最高层.所以,我经常会遇见Flash把下拉菜单挡住的情况.

    把Flash文件放到一个层中,设为最底层,FLASH设为透明.

XML/HTML代码
  1. <EMBED pluginspage=http://www.macrom edia.com/go/getflashplayer src=http://www.zxxswx.com/images/flash/yisky2.swf type=application/x-shockwave-flash width="950" height="90" wmode=transparent quality=high></EMBED><br / >  
  2. <a href='http://www.webkaka.com' style='display:block;width:950px;height:90px;position:absolute;margin-top:-90px; z-index:999;background:#000;filter:alpha(opacity=0);-moz-opacity:0;opacity: 0' title=''></a>  

      二、用按钮控件BUTTON 来实现

      具体步骤

      1.直接在按钮上加上onClick事件打开指定页面:

XML/HTML代码
  1. <button style="width:225;height:76;border:none;background:transparent"    
  2. k="window.open('http://www.flash8.net\',\'_blank\')" hidefocus>    
  3. <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">    
  4. <param name="movie"    
  5. value="http://www.flash8.net/images/head/bbs.swf">    
  6. <param name="wmode" value="Opaque">    
  7. <param name="quality" value="high">    
  8. <embed src="http://www.flash8.net/images/head/bbs.swf"    
  9. quality="high"    
  10. pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="225" height="76"             wmode="Opaque"></embed>    
  11. </object>    
  12. </button>  

      2.方法1中的代码运行后单击按钮时,按钮中的Flash有个下沉的动作,如果要取消这个动作,可以禁止按钮的交互性,然后用标准的A标签做链接,代码如下:

XML/HTML代码
  1. <a href="http://www.flash8.com" hidefocus><button disabled style="width:225;height:76;border:none">    
  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="225" height="76">    
  3. <param name="movie"    
  4. value="http://www.flash8.net/images/head/bbs.swf">    
  5. <param name="wmode" value="Opaque">    
  6. <param name="quality" value="high">    
  7. <embed src="http://www.flash8.net/images/head/bbs.swf" quality="high"    
  8. spage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="225" height="76"       wmode="Opaque"></embed>    
  9. </object>    
  10. </button>    
  11. </a>  

      注意:必须设置 Flash 对象的 wmode 属性值为 Opaque。

      技巧:方法1中代码第二行的_blank参数可以去掉或者修改为_self让链接在当前窗口打开。

      特别提示:代码运行后,在Flash上单击,将打开代码中指定的URL。

      特别说明

      本例问题的解决,主要是利用Flash对象的wmode属性和BUTTON标签的特性。设置Flash对象的wmode属性值为opaque,是为了降低Flash对象的优先级,然后利用BUTTON标签把Flash对象渲染为一个按钮,这样就可以通过设置BUTTON对象的样式或事件来解决问题。

 

 



  • 上一条信息:南京建能新能源有限公司 备案通过 备案号苏ICP备12039901号-1
  • 下一条信息:网页弹出层后自动关闭效果、弹出后自动关闭层效果