热搜词
发表于 2011-5-14 16:01:24 | 显示全部楼层 |阅读模式
本帖最后由 灰儿 于 2011-5-14 16:45 编辑

因为网页中的 Flash 是以控件形式出现的,优先级别较高,所以直接对它加链接是无效的,不过可以用按钮控件 BUTTON 来实现。

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

  1. <button style="width:225;height:76;border:none;background:transparent"
  2. onClick="window.open('http://www.shfq.com')" hidefocus="true">  
  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.用标准的A标签在按钮上加上超级链接打开指定页面:
方法1中的代码运行后单击按钮时,按钮中的Flash有个下沉的动作,如果要取消这个动作,可以禁止按钮的交互性,然后用标准的A标签做链接,代码如下:

  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. pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="225" height="76" wmode="Opaque"></embed>
  9. </object>
  10. </button>
  11. </a>
复制代码

说明:

1、必须增加<param name="wmode" value="transparent"> 这个属性为设置flash为透明,或者设置Flash对象的wmode属性值为opaque,否则会把button遮盖住。
2、button的大小尺寸与flash一致
3、window.open 是打开新窗口,本窗口打开为locationl.href=''''
4、background:transparent  ----这一句是让button背景透明

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


全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2025-1-16 04:58 , Processed in 0.157787 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2025 Discuz! Team