新的Chrome更新禁用了wmode=transparent。

3

最新版本的Chrome似乎破坏了我的SWF文件的透明背景。在网站上,我使用Flash将透明视频放在元素的顶部。然而,在最新版本的Chrome下,背景现在变成了黑色。

这个问题已经被问了几次,但没有得到答案。

这是我的代码:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="280" id="vanessa" name="vanessa">
   <param name="movie" value="vanessa.swf" />
   <param name="wmode" value="transparent" />
   <embed id="vanessa"
          name="vanessa"
          src="vanessa.swf"
          width="300"
          height="280"
          wmode="transparent"
   />
</object>

这个网站的主页上可以看到实时预览:http://www.consomachat.com/。涉及IT技术相关内容,请留意哦!

1
我使用Ubuntu 10.04和最新的开发者版本18.0.978.0(开发者构建115278 Linux)以及Chrome 16.0.912.63 beta,显示正常。 - TryTryAgain
我使用的是Windows操作系统,就像这个网站的客户中至少99%的人一样。 - jValdron
哪个版本的Chrome?最新的可能会误导,是吧? - TryTryAgain
嗯,是的,那时候是最新版本。现在我使用的是16.0.912.63 m版本。然而,它从几个月前开始出现这种情况,在开发分支下。所以它可能是在14或15版本下开始出现这种情况。 - jValdron
wmode="opaque" 在那个设置下是什么样子?可能会起作用...还可以浏览一下这个链接:http://www.google.com/support/forum/p/Chrome/thread?tid=2ca277b12bc29e35&hl=en,应该会给你一些尝试的方法。 - TryTryAgain
2个回答

4

来源:http://www.google.com/support/forum/p/Chrome/thread?tid=2ca277b12bc29e35&hl=en

关于我之前的评论...

我找到了一个解决方案:这将适用于IE,FF,Safari和Chrome!并且它显示备选内容。

步骤1)将SWFobject包含在您的中:

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

在这里获取最新版本:http://code.google.com/p/swfobject/downloads/list

第二步:将以下代码包含到你的页面中:

<object data="yourfile.swf" type="application/x-shockwave-flash" width="300"     height="280">
    <param name="allowScriptAccess" value="sameDomain">
    <param name="quality" value="best">
    <param name="wmode" value="transparent">
    <embed src="" quality="high" wmode="transparent" pluginspage="http://www.adobe.com/go/getflash" type="application/x-shockwave-flash" width="300" height="280"></embed>
    <param name="bgcolor" value="#ffffff" />
    <param name="movie" value="yourfile.swf" />

        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="yourfile.swf" width="300" height="280">
        <!--<![endif]-->
        <p>alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
</object>

为了澄清一下:最重要的是在<embed src中包含wmode="transparent"
<embed src="" quality="high" wmode="transparent" pluginspage="http://www.adobe.com/go/getflash" type="application/x-shockwave-flash" width="300" height="280"></embed>

嗯,在这里似乎能够工作,我现在离开家度假,我会问我的客户是否在他那里也是相同的情况。感谢你的帮助,我会保持更新并批准你的答案,如果一切顺利的话! - jValdron
很酷,祝你好运!节日快乐!除了添加<embed>之外,你还改了很多吗?只是好奇。谢谢。 - TryTryAgain
已经修复好了,再次感谢!我没有改变太多,因为我大部分都是复制粘贴你的代码,所以不太确定我改了什么。 - jValdron

3

我使用了TryTryAgain的答案,结果发现对我起作用的部分是在初始object标签中添加了type属性。

<object type="application/x-shockwave-flash" width="...">
</object>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接