我有一个webapp在iframe中嵌入了一些flash内容。闪存部分正在请求访问网络摄像头。在firefox / mac os上,用户无法单击允许按钮。这只发生在嵌入swf文件的页面加载到iframe中时,单独使用时它可以正常工作。还有其他人遇到过类似的问题吗?你知道任何解决方法吗?
编辑:为了将来参考:我们通过JS定位一些东西,我们使用“半像素”(例如20.5像素)的位置。一旦我们确定一切正常。答案 0 :(得分:16)
我发现当你在CSS中使用margin auto时,这个bug也会存在。
例如,固定宽度&中心对齐布局其典型使用“margin:0px auto;”保持内容集中。这似乎为内容产生了可能的(可能的)十进制左/右边距。对于Firefox来说这不是一个真正的问题..它处理十进制像素偏移就好了。
但Flash小部件在他们的对象容器使用小数像素值定位时似乎总是吓坏了。至少,您无法与“允许”按钮进行交互。对我来说,这似乎是这个错误的根本原因,你会看到许多人广泛报道(因为它至少与FF有关)。
至于为什么它只出现在FF中,我不完全确定。在我的OSX计算机上,Safari和Chrome不会对flash对象表现出这种行为。也许Webkit中的所有DOM元素都会自动呈现圆角像素偏移值?
对于Firefox,我实现了这种解决方法(对于中心对齐设计很有用):
$(document).ready( function() {
repositionContentContainer();
});
function repositionContentContainer() {
// this routine is a complete hack to work around the flash "Allow" button bug
if ( $("#content").length > 0 ) {
//Adjust the #content left-margin, since by default it likely isn't an int
setLeftMargin();
//If the User resizes the window, adjust the #content left-margin
$(window).bind("resize", function() { setLeftMargin(); });
}
}
function setLeftMargin() {
var newWindowWidth = $(window).width();
var mainWellWidth = $("#content").width();
// create an integer based left_offset number
var left_offset = parseInt((newWindowWidth - mainWellWidth)/2.0);
if (left_offset < 0) { left_offset = 0; }
$("#content").css("margin-left", left_offset);
}
答案 1 :(得分:7)
将 wmode 设置为“直接”修复此问题。
无需将'margin'/'position'值设置为整数。
请注意,“直接”wmode自Flash 10起可用,并且在IE
下无效答案 2 :(得分:3)
正在Adobe错误数据库中跟踪此问题:
http://bugs.adobe.com/jira/browse/FP-4656
基本问题是Firefox使用半像素定位,adobe在调整大小后不规则地使用它。这是通过页面上的中心swfs实现的,或者如果swf位于居中的iframe内部(例如大多数facebook应用程序),则更糟糕。
在那里发布了一个解决方案矩阵,涵盖了浏览器缩放,调整大小和其他复杂功能。
答案 3 :(得分:0)
我知道这是一个老问题,但我刚发现另一个导致相同错误的问题,这是谷歌的最高结果,所以我添加了这个答案。
页面背景上的CSS3渐变(也可能在容器div背景上)也会导致此问题。删除渐变,再次单击该按钮。
答案 4 :(得分:0)
还检查您没有任何父div(或div本身)与CSS转换规则,例如:
transform: translateX(-50%);
答案 5 :(得分:-3)
我能够让它发挥作用。 Ahuh!
使用Tab键直到它突出显示整个Flash Player设置框,然后再次按Tab键,直到它突出显示框右上方的“问号”按钮。反复按空格键或Enter按钮,直到它在浏览器上打开另一个选项卡。现在返回Flash Player设置的上一页,再次按Tab键,直到它突出显示“允许按钮”或“拒绝按钮”,具体取决于您将做什么。按空格键或Enter按钮,然后瞧!你去吧!
希望它有所帮助。大家度过愉快的夜晚! :)