Html swfobject:所有PC浏览器中闪存上的绝对位置链接

Html swfobject:所有PC浏览器中闪存上的绝对位置链接,html,css,flash,swfobject,Html,Css,Flash,Swfobject,我有很多flash广告(与swfobject一起安装),上面有一个HTML链接。我使用的是wmode transparent,它在mac上的每个浏览器中都能正常工作,但在PC上的ie/chrome/ff(在win7上查看)链接落后于flash 我也尝试过wmode=opaque,但没有效果 以下是HTML: <a href="$Link" class="overlay"></a> <div class="flashContainerSml"> <

我有很多flash广告(与swfobject一起安装),上面有一个HTML链接。我使用的是wmode transparent,它在mac上的每个浏览器中都能正常工作,但在PC上的ie/chrome/ff(在win7上查看)链接落后于flash

我也尝试过wmode=opaque,但没有效果

以下是HTML:

<a href="$Link" class="overlay"></a>
<div class="flashContainerSml">
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="125" height="125">
    <param name="movie" value="$Flash.URL" />
    <param  name="wmode" value="transparent" />
    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="$Flash.URL" width="125" height="125">
    <param  name="wmode" value="transparent" />
    <!--<![endif]-->
    <p>no flash</p>
    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
    </object>
</div>

按钮/链接不在swf中是否有具体原因?像这样在swf上堆叠一个按钮是不好的做法(正如您所发现的)。如果我是你,我会重做swf,这样你就可以把按钮放在里面,而不是试图堆叠在上面

如果选项1(我的第一个答案)不起作用,请尝试以下解决方案:

  <script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/swfobject.js"></script>

<script type="text/javascript">

  $(document).ready(function() {

    swfobject.embedSWF("flash/movie.swf", "no-flash", "195", "120",
    "9.0.0", "flash/expressInstall.swf", {}, {wmode:"transparent"}, {});

    $('#div2').live('click',function() {
      alert('triggered a click');
    });
  });
</script>

<style type="text/css">
  #div {
    position:relative;
  }
  #div2 {
    position:absolute;
    z-index: 1;
  }
</style>  

<div id="div">
  <div id="div2" style="width:195px;height:120px;">
    <object type="img/gif">
      <img src="images/null.gif" width="100%" height="100%" />
    </object>
  </div>   

  <img id="no-flash" src="images/no-flash.gif" alt="" />  

 </div>

$(文档).ready(函数(){
swfobject.embeddeswf(“flash/movie.swf”、“无flash”、“195”、“120”,
“9.0.0”、“flash/expressInstall.swf”、{}、{wmode:“transparent”}、{});
$('#div2').live('click',function()){
警报(“触发点击”);
});
});
#div{
位置:相对位置;
}
#第二组{
位置:绝对位置;
z指数:1;
}
这次我把#div2 div放在了第一个div中,但是在被SWFObject替换的图像上面。在这个div中有一个对象标记,MIME类型设置为“img/gif”,然后很明显,该对象标记中只有一个图像。这张图片只是一张1×1的透明gif。因此,由于DOM顺序和z索引,具有图像的对象将位于其他对象之上。
这将在我需要的所有浏览器上成功触发警报。。FireFox、Safari、Chrome、Opera、InternetExplorer8、InternetExplorer7和InternetExplorer6。

最终很简单。请注意链接中的透明gif

<a href="$Link" class="overlay"><img src="$ThemeDir/images/transparent.gif" /></a>
                        <div class="flashContainerSml">
                            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="125" height="125">
                            <param name="movie" value="$Flash.URL" />
                            <param name="wmode" value="opaque" />
                            <!--[if !IE]>-->
                            <object type="application/x-shockwave-flash" data="$Flash.URL" width="125" height="125">
                            <param name="wmode" value="opaque" />
                            <!--<![endif]-->
                              <p></p>
                            <!--[if !IE]>-->
                            </object>
                            <!--<![endif]-->
                            </object>
                        </div>


我同意这并不理想。广告是由客户上传到CMS的,他们的来源有时不会在广告中嵌入链接,所以我们给了他们在CMS中指定链接的能力。哦,好的,谢谢你多解释一下你的情况。我将发布另一个解决方案。你提到的透明gif激发了我的灵感。我决定尝试在空的“a”标签中添加一些文本,它起了作用,所以我将文本替换为透明的gif,它解决了这个问题
<a href="$Link" class="overlay"><img src="$ThemeDir/images/transparent.gif" /></a>
                        <div class="flashContainerSml">
                            <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="125" height="125">
                            <param name="movie" value="$Flash.URL" />
                            <param name="wmode" value="opaque" />
                            <!--[if !IE]>-->
                            <object type="application/x-shockwave-flash" data="$Flash.URL" width="125" height="125">
                            <param name="wmode" value="opaque" />
                            <!--<![endif]-->
                              <p></p>
                            <!--[if !IE]>-->
                            </object>
                            <!--<![endif]-->
                            </object>
                        </div>