swfobject.embedSWF youtube视频叠加在chrome中,不透明度不起作用

时间:2012-11-08 15:07:07

标签: javascript flash google-chrome prototypejs swfobject

我在Chrome中使用youtube叠加视频时出现问题,叠加层的不透明度为0.8,但在Chrome中,YouTube视频也会应用不透明度,以便您可以看到它。

我在这个任务上使用swfobject.embedSWF和ProtoTube插件但是无法弄清楚为什么会发生这种情况,有什么想法吗?

功能是:

getVideoEmbed: function(wrapper) {
        var wrapperID = wrapper.identify();
        var flashvars = {
            fs: this.options.fs,
            autoplay: this.options.autoplay,
            loop: this.options.loop,
            hd: this.options.hd,
            showinfo: this.options.showinfo,
            rel: this.options.rel

        };
        var params = { 
            wmode: "transparent",
            allowScriptAccess: "always",
            allowFullScreen: true,
            menu: false
        };
        var atts = { };
        swfobject.embedSWF(this.options.youtubeVideoUrl+this.videoID, wrapperID, this.options.playerWidth, this.options.playerHeight, "9", null, flashvars, params);
    },

可以在此处找到问题的示例网址:http://tinyurl.com/b48u39c(点击Chrome主图片上的播放视频链接以查看问题)

2 个答案:

答案 0 :(得分:2)

Firefox 16.0.2中的{opacity: 0.8}和IE 9电影看起来与Chrome 23完全相同(半透明,图像和文字可通过它看到)。在Opera 12.02中,电影看起来有点漂白(混合了大量的白色)。

所以恕我直言,这不是Chrome的特定错误。这是浏览器的行为 - 以某种方式将元素的不透明度应用于嵌套对象(因为object嵌套在div class="overlay")中。

更新:将 div class="overlay"之后的swf播放器放置在z-index更高的位置(例如{z-index: 5001;},而不是覆盖 <。 / p>

答案 1 :(得分:1)

我最终使用rgba(0,0,0,0.8)将其修复为CSS