的问题是,闪光灯捕捉click事件,而不是通过在一些浏览器的DOM对其进行筛选。没有具体的解决方法。
有两种解决方法,我知道的:
- 代码添加到它与点击交易和打开相应的URL
- 将在闪光灯顶部的“垫片”隐形链接您的SWF文件它捕获点击和适当的链接 - 注意你只能有一个在你的Flash文件,所以如果你需要在Flash文件中的两个链接,它将无法正常工作。的#2
实施例:
<div id="flashContainer">
<a id="shim" href="mylink.aspx"> </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");
});
为什么不而不是一个div“适当地捕捉点击”链接 - 否则我与你的解决方案 – mikevoermans 2012-04-11 13:51:52
同意的链接将工作一样也很好,我想,只要它是'显示:block'和包含'nbsp;' – 2012-04-11 13:52:26
@mikevoermans事实上,我认为这个链接会更加优雅,因为它消除了对js的需求 - 回答编辑我没有测试过,但它也可以。谢谢:) – 2012-04-11 13:54:59