2012-04-11 116 views
1

超鏈接不會在Chrome和Firefox中進入(如果我單擊但firefox鏈接打開,但指針不顯示可點擊)。我這個嘗試:超鏈接閃光橫幅

<a href="http://www.teamrustic.com/" target="_blank"> 
    <embed class="ads" 
      style="margin:0px;border:0px;" 
      src="swf/flash_banner.swf" 
      width="315" height="100" wmode="opaque"> 
    </embed> 
</a>​ 

試圖用CSS .ads{cursor : pointer;}

回答

2

的問題是,閃光燈捕捉click事件,而不是通過在一些瀏覽器的DOM對其進行篩選。沒有具體的解決方法。

有兩種解決方法,我知道的:

  1. 代碼添加到它與點擊交易和打開相應的URL
  2. 將在閃光燈頂部的「墊片」隱形鏈接您的SWF文件它捕獲點擊和適當的鏈接 - 注意你只能有一個在你的Flash文件,所以如果你需要在Flash文件中的兩個鏈接,它將無法正常工作。的#2

實施例:

<div id="flashContainer"> 
    <a id="shim" href="mylink.aspx">&nbsp;</a> 
    <div id="flash"> 
     <embed class="ads" src="swf/flash_banner.swf" width="315" height="100" wmode="opaque"></embed> 
    </div> 
</div> 
#flashContainer { 
    position: relative; 
} 
#flash { 
    z-index: 5; 
} 
#shim { 
    display: block; 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 315px; 
    height: 100px; 
    z-index: 10; 
} 

更新使用一個div,#2

實施例與jQuery掛鉤單擊事件:

<div id="flashContainer"> 
    <div id="shim"></div> 
    <div id="flash"> 
     <embed class="ads" src="swf/flash_banner.swf" width="315" height="100" wmode="opaque"></embed> 
    </div> 
</div> 
#flashContainer { 
    position: relative; 
} 
#flash { 
    z-index: 5; 
} 
#shim { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 315px; 
    height: 100px; 
    cursor: hand; cursor: pointer; 
    z-index: 10; 
} 
$("#shim").click(function() { 
    window.location.assign("mylink.aspx"); 
}); 
+0

爲什麼不而不是一個div「適當地捕捉點擊」鏈接 - 否則我與你的解決方案 – mikevoermans 2012-04-11 13:51:52

+0

同意的鏈接將工作一樣也很好,我想,只要它是'顯示:block'和包含'nbsp;' – 2012-04-11 13:52:26

+1

@mikevoermans事實上,我認爲這個鏈接會更加優雅,因爲它消除了對js的需求 - 回答編輯我沒有測試過,但它也可以。謝謝:) – 2012-04-11 13:54:59