我在我的网站上嵌入了第三方 Flash 对象,并尝试通过将 jquery .click 事件绑定到其包装器 div 来添加指向它的链接。在 Firefox 中,这是有效的。然而,在 Chrome 和 IE 中,似乎无法通过 jQuery .click 事件访问 div。我的意思是,当绑定页面上的所有元素以在单击时发出警报时,单击 flash 对象不会引发警报(Firefox 除外)。
$("*").each(function() {
$(this).click(function() {
alert($(this));
});
});
我在别处读到给 flash 对象一个 wmode = "transparent" 的参数......这让它在 FF 中工作。
以下是嵌入 Flash 对象的方式。
<?php if ($post->post_name == 'insurance') {?>
<script type="text/javascript">
var flashvars = {};
var params = {};
params.wmode = "transparent";
params.menu = "false";
params.allowScriptAccess = "never";
params.allowNetworking = "internal";
swfobject.embedSWF("/wp-content/uploads/2012/06/ad_Imagine_300x250_FLASH1.swf", "myRightRailAd", "300", "250", "10.0.0", false, flashvars, params);
<div id="adboxrightcol" class="adHolder" style="z-index: 1000;">
<div id="myRightRailAd" style="position: absolute;">
<img id="myContent" src="<?php bloginfo('url');?>/wp-content/uploads/2012/06/ad_Imagine_300x250_JPG1.jpg" alt="BMO" width="300" height="250">
</div></div>
jQuery click 事件被绑定:
$(document).ready(function() {
$("#adboxrightcol").click(function() {
location.href="http://www.somesite.com/car-insurance-quotes?utm_source=comparasave_ad&utm_medium=comparasave_insurancelp&utm_campaign=imagine_bb_ad";
});
});