<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="<param name="movie"
value="<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="quality="high"
pluginspage="</object>
</button>
2.方法1中的代碼運行后單擊按鈕時(shí),按鈕中的Flash有個(gè)下沉的動(dòng)作,如果要取消這個(gè)動(dòng)作,可以禁止按鈕的交互性,然后用標準的A標簽做鏈接,代碼如下:
<a href="<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="<param name="movie"
value="<param name="wmode" value="Opaque">
<param name="quality" value="high">
<embed src="pluginspage="</object>
</button>
</a>
注意:必須設置 Flash 對象的 wmode 屬性值為 Opaque。
技巧:方法1中代碼第二行的_blank參數可以去掉或者修改為_(kāi)self讓鏈接在當前窗口打開(kāi)。
特別提示
代碼運行后,在Flash上單擊,將打開(kāi)代碼中指定的URL(圖5.1.9)。
圖5.1.8 給Flash添加鏈接功能
特別說(shuō)明
本例問(wèn)題的解決,主要是利用Flash對象的wmode屬性和BUTTON標簽的特性。設置Flash對象的wmode屬性值為opaque,是為了降低Flash對象的優(yōu)先級,然后利用BUTTON標簽把Flash對象渲染為一個(gè)按鈕,這樣就可以通過(guò)設置BUTTON對象的樣式或事件來(lái)解決問(wèn)題。
http://fzlshop.com 菜單
第二種方法:
說(shuō)到這個(gè)問(wèn)題,可能有人就會(huì )說(shuō),那還不簡(jiǎn)單,直接用flash的ActionScript中的url方法不就搞定了,那么如果我們的UI人員設計完flash,但flash對應的鏈結還沒(méi)有確定或者以后會(huì )變更怎么辦?我需要的是能夠在外部修改flash對應的鏈結。
那直接在flash所在的object元素外部加<a></a>標簽來(lái)控制不就行了,可能有些人會(huì )這么想,思路正確,但是行不通。呵呵,怎么辦?百度一下先,呵呵,真是相當佩服某些人的牛腦,真牛,下面是一種解決的方法:
首先,我們肯定是要先插入FLASH.因為,Flash默認是最高層.所以, 我經(jīng)常會(huì )遇見(jiàn)Flash把下拉菜單擋住的情況.
把Flash文件放到一個(gè)層中,設為最底層,FLASH設為透明.
復制代碼 代碼如下:
<div style="z-index:-1"> <!--1.設置FLASH為底層-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="width="200" height="115">
<param name="movie" value="media.swf">
<param name="quality" value="high">
<embed src="media.swf" quality="high"
pluginspage="type="application/x-shockwave-flash" width="200"
height="115"></embed>
<param name="wmode" value="transparent">
<!--2.必須把FLASH設置為透明-->
</object> </div>
再接下來(lái),就是在FLASH的層上再加上一層,
Flash本身不能直接加入onclick.等事件,所以,只能借助別的東西啦. 就是在FLASH上加個(gè)透明層,
復制代碼 代碼如下:
<div id="huiLayer" style="cursor: hand; position:absolute;
left:10px; top:10px; width:200px; height:115px; z-index:1;
visibility: visible;"><a href="<img src="kong.gif" width="200" height="115"
border="0"></a></div>
論壇上面,給了一些解決方法,就是加個(gè)透明的層,但是,如果光有個(gè)透明層, 還是不能接受事件的.
更確切地說(shuō),是一部分可以,一部分不可以,和FLASH部分重疊的那一部分不行.
為什么不行.說(shuō)實(shí)話(huà),我也不清楚,我是試驗得出來(lái)的...
當我把這個(gè)層的背景顏色設為任意一種時(shí),不是透明時(shí),發(fā)現.可以接受事件了,在層上加了個(gè)
超連接,也可以.. 但是,這還不是我們要的結果.因為,把整個(gè)"精美"的FLASH給遮蓋了.. 所以,有<img
src="kong.gif" width="200" height="115" border="0">
我用PhotoShop做了個(gè)透明的圖片kong.gif
大小都可以,但是必須是透明的!這樣才不至于把底下的FLASH給遮蓋住了.
試驗了一下... 成功了... 點(diǎn)擊FLASH.其實(shí)是擊中了FLASH上層的透明圖片kong.gif
圖片,就可以接受很多事件啦,onclick , onmouseover ,onmosueout ......
給圖片加個(gè)<a></a>超連接是再簡(jiǎn)單不過(guò)的事啦.. 這時(shí),以上的問(wèn)題是不是都解決了,把事件都給kong.gif接受!
單擊事件, <div onclick="ok()" id="huiLayer" ...........
不管是坐火車(chē),還是飛飛機,過(guò)年都得回家,所以方法還是有的,Flash本身還提供了一種方法,相當的好用,就是在Flash內部通過(guò)FSCommand調用外部的腳本,個(gè)人認為這種方法簡(jiǎn)單實(shí)用,可控能力強,具體用法,就不在這里多說(shuō)了,你在網(wǎng)上搜FSCommand關(guān)鍵鍵字就會(huì )啊到很多實(shí)例,不過(guò)還是有一點(diǎn)提示:在提供javascript版本的調用方法時(shí),最好也提供一個(gè)vbscript的版本,否則調用可能會(huì )不成功。
詳細出處參考:http://www.jb51.net/article/8658.htm
聯(lián)系客服