通常,我們給flash動(dòng)畫加鏈接,是在flash內(nèi)部加的,直接用flash的ActionScript中的url方法可以輕松搞定。但是那樣會(huì)帶來(lái)一些使用上出現(xiàn)的問(wèn)題,譬如它作為一個(gè)廣告flash,有時(shí)候需要更換鏈接來(lái)宣傳不同的產(chǎn)品,如果每次都要重新修改flash,就會(huì)使設(shè)計(jì)人員浪費(fèi)額外的時(shí)間來(lái)操作這個(gè)事情;另一方面,點(diǎn)擊flash內(nèi)部鏈接打開另一個(gè)頁(yè)面,那么那個(gè)頁(yè)面是統(tǒng)計(jì)不出點(diǎn)擊來(lái)路的,而是視為直接輸入。
為了解決上述的問(wèn)題,我們需要在網(wǎng)頁(yè)上也就是flash外部給flash添加鏈接,簡(jiǎn)單的說(shuō),就是把flash視作一張圖片的效果。
下面是我在網(wǎng)上找到的幾個(gè)方法,經(jīng)過(guò)測(cè)試是可行的。
一、為flash新增透明層
(▲點(diǎn)擊Flash)原理是定義一個(gè)與flash等高等度的鏈接標(biāo)簽a,然后通過(guò)css把標(biāo)簽a定位到flash上面進(jìn)行透明覆蓋。上面這個(gè)html方式給flash加鏈接的代碼如下:
<EMBED pluginspage=http://www.macrom edia.com/go/getflashplayer src=http://www.howtostagehomes.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.howtostagehomes.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='卡卡網(wǎng)速測(cè)試'></a>
二、用按鈕控件BUTTON 來(lái)實(shí)現(xiàn)
具體步驟
1.直接在按鈕上加上onClick事件打開指定頁(yè)面:
<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中的代碼運(yùn)行后單擊按鈕時(shí),按鈕中的Flash有個(gè)下沉的動(dòng)作,如果要取消這個(gè)動(dòng)作,可以禁止按鈕的交互性,然后用標(biāo)準(zhǔn)的A標(biāo)簽做鏈接,代碼如下:
<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>
注意:必須設(shè)置 Flash 對(duì)象的 wmode 屬性值為 Opaque。
技巧:方法1中代碼第二行的_blank參數(shù)可以去掉或者修改為_self讓鏈接在當(dāng)前窗口打開。
特別提示:代碼運(yùn)行后,在Flash上單擊,將打開代碼中指定的URL。
特別說(shuō)明
本例問(wèn)題的解決,主要是利用Flash對(duì)象的wmode屬性和BUTTON標(biāo)簽的特性。設(shè)置Flash對(duì)象的wmode屬性值為opaque,是為了降低Flash對(duì)象的優(yōu)先級(jí),然后利用BUTTON標(biāo)簽把Flash對(duì)象渲染為一個(gè)按鈕,這樣就可以通過(guò)設(shè)置BUTTON對(duì)象的樣式或事件來(lái)解決問(wèn)題。