如何用 HTML 的方式強迫把 Flash 加上超連結

最近幫某家公司做了個小案子是關於廣告顯示的 , 中間有提到要可以上傳 Flash , 結果整個案子最難的竟然是 Flash 檔案上面要加上超連結真的不容易 .... 如果 Flash 本身沒有做任何 click 動作 , 那還有辦法 , 但若 Flash 本身有 click 事件 , 並且 click 之後也會跑到別的網站 , 這樣好像無法直接把超連結弄成另一個 layer 蓋在上面 ... 好友 Kuei 有提供一個方法 , 就是用絕對定位方式 , 搭配個透明無色的 gif 檔案放在 Flash 的上一層 , 這樣就可以蓋掉 Flash 上面所有的 click 功能 , 而讓自己的超連結生效 , 我在想 , 如果 gif 可以蓋上去 ... 那用其它物件不行嗎 ??? 是的 .... 我試了很久 , 我發現用 <iframe> 可以 , 所以就可以省掉多弄個 gif 檔來蓋掉 flash 了 以下是個範例 <div style="width:350px; height:100px;"><div style="position:absolute; z-index:10; width:350px; height:100px;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="350" height="100">        <param name="movie" value="demo.swf" />        <param name="quality" value="high" />        <param name="wmode" value="transparent" />        <embed src="demo.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="350" height="100" wmode="transparent"></embed>      </object></div>      <div style="position:absolute; z-index: 15;width:350px; height:100px;"><iframe width="350" height:100px; allowtransparency="true" style="filter: Alpha(opacity=0)" frameborder="0" scrolling="no"></iframe></div><div style="position:absolute; z-index: 20;width:350px; height:100px;"><a href="http://www.xyz.com.tw" mce_href="http://www.xyz.com.tw" target="banner" style="display:block;width:350px; line-height:100px; height:100px; text-indent:-5000px; ">Banner</a></div></div>  漏漏長的 , 其實中間在製作中也發生個困難 . 就是 <iframe> 在 IE 上面並不透明 , 所以會讓原本的 Flash 檔案看不到 , 但是在 Firefox 上面卻無這個問題 , 所以我用了 style="filter : Alpha(opacity=0)" 讓 <iframe> 標籤透明度是 0 , 這個方法是針對 IE 來的 上面的代碼在 IE 7 , FireFox 2.0 都測試過是可以正常顯示 Flash 且可以用自己的超連結完全蓋掉原本 Flash 的 click 動作的

發佈留言