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

问题描述:公司合作的一个酒店预订网站需要在页面上投广告,但对方给了一 个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="*.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/'&qu ot;>
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="*.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是一个透明的图片。效果如下所示

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="*.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.gif" width="468" height="60" border="0" /></a></div></div>
10

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

时间: 2024-08-30 21:29:23

用div挡住flash并给flash加上链接的相关文章

NAND flash和NOR flash的区别

FLASH简介 使用的智能手机除了有一个可用的空间(如苹果8G.16G等),还有一个RAM容量,很多人都不是很清楚,为什么需要二个这样的芯片做存储呢,这就是我们下面要讲到的.这二种存储设备我们都统称为"FLASH",FLASH是一种存储芯片,全名叫Flash EEPROM Memory,通地过程序可以修改数据,即平时所说的"闪存".Flash又分为NAND flash和NOR flash二种.U盘和MP3里用的就是这种存储器. 相"flash存储器&quo

linux-nand flash 转变 nor flash

问题描述 nand flash 转变 nor flash 求 nand flash 变成 nor flash 方法 解决方案 ?NOR和NAND FLASH收藏function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http:....

SPI FLASH与NOR FLASH的区别?

1.SPI Flash (即SPI Nor Flash)是Nor Flash的一种: 2.NOR Flash根据数据传输的位数可以分为并行(Parallel)NOR Flash和串行(SPI)NOR Flash: 3.SPI Nor Flash每次传输一个bit位的数据,parallel Nor Flash每次传输多个bit位的数据(有x8和x16bit两种): 4.SPI Nor Flash比parallel便宜,接口简单点,但速度慢.   SPI FLASH是指外接口符合SPI协议,也就是串

flash入门教程:Flash Sound实例教程

flash入门教程:Flash Sound实例教程 第1步 选择文件> "导入导入一个声音文件.找到声音文件并点击打开.的声音文件将被保存在图书馆. 第2步 单击第一帧的"图层1 "的时间表.选择窗口" >小组"声从顶部的菜单中. 第3步 在弹出窗口(声音)选择你的声音进口的声场.选择流中的同步字段.关闭弹出窗口. 第4步 到50帧的时间.请右击并选择插入帧. 第5步 选择控制" >测试影片从顶部的菜单中测试您的Flash影片.

一个为字符串中的网址加上链接的程序例子

我们有时候可能会有这样的要求,如果我们输入了一段带有链接的文字,如:" 今天,我访问了中央电视台的网站:http://www.cctv.com "那么,我们希望能自动为我们的"http://www.cctv.com"这几个字符加上链接,事实上,很多网站都有这个功能,因此,阿余也试着写了一段这样的小程序,一个可以用来方便大家,另一个也可以为初学者提供一点源代码,所以,代码的过程阿余尽可能的写得简单易懂,所以有的地方看起来就有一点罗索了.当然,高手看了就要给阿余提点意见

php自动给网址加上链接的方法_php技巧

本文实例讲述了php自动给网址加上链接的方法.分享给大家供大家参考.具体实现方法如下: 这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接 function text2links($str='') { if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; } $lines = explode("\n", $str); $new_text = ''; while (list($k,$l

php中使用preg_replace函数匹配图片并加上链接的方法_php技巧

介绍:preg_replace 执行正则表达式的搜索和替换,如果只是单纯的匹配字符串建议使用str_replace(),因为其执行效率高的多.mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])      在 subject 中搜索 pattern 模式的匹配项并替换为 replacement.如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -

dedecms的内容页关键字加上链接 与 Googlesitemap制作方法

给内容页的关键字加上链接,是seo教程的重要一环.以下方法时候dedecms5.6版本 1.修改系统参数->核心设置->关键字替换(是/否)使用本功能会影响html生成速度(这里选 是) 2.修改 include/arc.archives.class.php教程 找到 $body = preg_replace("/()(.*)(<)(/a>)/isu", '-]--[-', $body); 在下方加入以下代码 //设置所有关键词 $dsql12 = new de

flash Flex给图片加上水印代码

相信大家对Flex的Snapshot应用不会陌生,本实例是建立在这个功能的基础上的.为什么要用AS3加水印而不是用后台语言呢,主要是客户端处理效率高一点,而且我们还可以使用AS3丰富的图像API.那又为什么不直接加好了水印再快照呢?主要是因为主界面要求整洁,所以只好在输出字节流数据时才偷偷地加水印. 点击此处查看本实例的效果,点击此处下载本实例的源码. 在本实例中,我们先新建了一个Canvas容器,将容器的Image控件的Source指定为第一次快照获得的Bitmap,当按下Save Snaps