0

我在我的网站上嵌入了第三方 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";
   }); 
});

4

1 回答 1

0

修复了问题...必须在 Flash 对象顶部使用绝对定位的 div,该对象不是 Flash 对象的包装器,并以透明图像作为 IE6 - 8 的背景

于 2012-06-11T17:56:11.783 回答