2010-03-05 70 views
1

长话短说,我正在为博客开发一个主题模板,使您能够以块的形式查看帖子。首先显示帖子的主要部分,然后将鼠标悬停在帖子块上时显示次要内容。如何让Flash播放器在PC上的内容下显示?

一切工作正常在Mac上所有主流浏览器的版本,但开始在PC上浏览,并且当你开始试图通过Flash显示内容时,所有地狱崩溃视频嵌入。 Flash元素在内容上保持可见。这是完全无法使用的。

从PC,您可以查看这里的问题的一个例子:http://photorific.tumblr.com

我几乎可以肯定这是在Flash插件的Windows中的错误,但我想知道如果任何人都遇到过这种问题,以及是否有解决方案。

这个问题已经出现了一段时间,现在任何帮助,真的,真的很感激!

回答

2

尝试将wmode =“transparent”放入Flash内容的对象标记中。

+0

感谢您的建议。我试过透明,但只适用于Safari和Firefox。出于某种原因,使用不透明,解决了所有三种主要Windows浏览器的问题。 – bschaeffer 2010-03-15 19:43:43

+0

啊,是的,我承认我确实有一个非常糟糕的习惯,只在一个浏览器中进行测试...... – 2010-03-15 22:39:22

3

这是Windows上的Flash Player中的一个已知错误。它基本上忽略任何形式的z-index,或者假定flash对象位于z-index:+ INFINITY。无论哪种方式,有两个修复程序。如前所述,您可以使用wmode = transparent参数,但这会让其他内容在Flash影片中流血。另一种选择是在Flash影片和您想要在Flash影片上出现的任何内容之间使用IFRAME填充。

MooTools有一个名为IframeShim的插件,可以自动为您做到这一点。如果没有可用于jquery的等效函数,我会感到惊讶。

1

感谢您的答复。 @马克,很高兴知道我不会发疯。

我确实发现,设置窗口模式属性,Tumblr在输出视频代码时不会本机执行,工作正常......但它必须是opaque而不是transparent

与原始视频的字符串(<object><params /><embed /></object>)工作,这是我想出了完美的作品对我的解决方案:

/* Add wmode = opaque 
-------------------------------------------------------*/ 
if(! player.match(/name="wmode"/)) 
    player = player.replace(/<param/, '<param name="wmode" value="opaque" /><param'); 

if(! player.match(/wmode="(transparent|opaque)"/)) 
    player = player.replace(/\/><\/object>/, 'wmode="opaque" /></object>'); 

player = player.replace('wmode="transparent"', 'wmode="opaque"'); 
player = player.replace('name="wmode" value="transparent"', 'name="wmode" value="opaque"'); 

现在,在Windows上的Flash视频坐镇很好所需的div后面....只要javascript被启用。

再次感谢您所有的答案。

相关问题