flash横幅周围的超链接

时间:2012-04-11 13:40:19

标签: javascript jquery html css flash

超链接不会出现在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;}

1 个答案:

答案 0 :(得分:2)

问题是flash在某些浏览器中捕获click事件而不是通过DOM过滤它。对此没有具体的解决方法。

我知道有两种解决方法:

  1. 将代码添加到swf文件中,该文件处理点击并打开相应的网址
  2. 在闪光灯顶部放置一个“垫片”隐形链接,可以捕捉到点击并正确链接 - 请注意,您的闪存文件只能包含其中一个,因此如果您需要闪存文件中的两个链接,它会赢得'工作。
  3. #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挂钩click事件:

    <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");
    });