我有一個web應用程序將一些Flash內容嵌入到iframe中。閃存部分正在請求訪問攝像頭。在firefox/mac os上,用戶無法點擊允許按鈕。這隻發生在嵌入swf文件的頁面加載到iframe中時,它在單獨放置時工作正常。有沒有其他人面臨類似的問題?你知道任何解決方法嗎?無法在Firefox上的Flash中單擊允許按鈕
編輯:爲了將來的參考:我們通過JS定位一些東西,我們有位置使用「半像素」(例如20.5px)。一旦我們確定一切正常。
我有一個web應用程序將一些Flash內容嵌入到iframe中。閃存部分正在請求訪問攝像頭。在firefox/mac os上,用戶無法點擊允許按鈕。這隻發生在嵌入swf文件的頁面加載到iframe中時,它在單獨放置時工作正常。有沒有其他人面臨類似的問題?你知道任何解決方法嗎?無法在Firefox上的Flash中單擊允許按鈕
編輯:爲了將來的參考:我們通過JS定位一些東西,我們有位置使用「半像素」(例如20.5px)。一旦我們確定一切正常。
我發現當你在CSS中使用margin auto時,這個bug也會存在。
例如,以固定寬度&居中對齊佈局,其典型使用「margin:0px auto;」保持內容的中心。這似乎爲內容產生了可能的(可能)小數左/右邊距。這對於Firefox來說並不是問題..它處理十進制像素偏移就好了。
但是,Flash小部件在其對象容器定位爲小數像素值時完全顯得非常怪異。至少,您不能與「允許」按鈕進行交互。對我來說,這似乎是這個錯誤的根源,你會看到許多人廣泛報道(因爲它與FF atleast有關)。
至於爲什麼它只發生在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);
}
這個問題正在於Adobe bug數據庫跟蹤:
http://bugs.adobe.com/jira/browse/FP-4656
基本問題是Firefox使用半像素定位,Adobe在調整大小後不規則地使用它。這是通過在頁面上居中的swf來實現的,或者如果swf位於中心iframe中,例如大多數facebook應用程序,則會變得更糟。
這裏有一個解決方案矩陣,包括瀏覽器縮放,調整大小和其他複雜情況。
感謝。很高興知道這是正在工作。 – Alex 2011-02-21 09:08:01
將wmode設置爲'直接'固定此。
無需將'margin'/'position'值設置爲整數。
需要注意的是「直接」的wmode可自Flash 10和不工作的IE
下我能夠使它發揮作用。 Ahuh!
使用Tab按鈕,直到它突出顯示整個Flash Player設置框,然後再次按下Tab按鈕,直到它突出顯示框右上部分的「問號」按鈕。重複按空格鍵或輸入按鈕,直到它打開瀏覽器上的另一個選項卡。現在回到Flash Player設置的上一頁,再次按下Tab按鈕,直到它突出顯示「允許按鈕」或「拒絕按鈕」,具體取決於您的操作。按空格鍵或輸入按鈕,瞧!你走了!
希望它有幫助。祝大家晚上愉快!:)
這是一些不錯的曳......! – nirazul 2012-11-17 17:33:35
我知道這是一個老問題,但我剛剛發現這是造成同樣的錯誤另一個問題,這就是頂部谷歌的結果,所以我加入這個答案。
一個CSS3漸變在你的頁面的背景(可能在容器DIV的背景也一樣)也會導致這個問題。刪除漸變,該按鈕可以再次點擊。
檢查,你也沒有任何父DIV(或DIV本身)用CSS變換規則,如:
transform: translateX(-50%);
這花了我幾個月找出...一切使用保證金自動 – 2011-03-27 23:24:12
花了幾天時間來解決這個問題,終於找到了這個解決方案... :) – Sutha 2014-05-06 05:38:13
也會出現這種情況,我在OSX上的Safari 8.0.3,閃存16.0.0.305 – d2vid 2015-03-08 18:19:38