Flash и Firefox: невозможно нажать «Разрешить» на панели «Конфиденциальность» - PullRequest
4 голосов
/ 09 ноября 2010

Я создал довольно простое приложение Flex с помощью Flex Builder 4, которое подключается к веб-камере на ПК пользователя. Для этого Flash представляет пользователю печально известное предупреждение о конфиденциальности.

Теперь проблема в том, что пользователь не может щелкнуть панель, поскольку она кажется невосприимчивой к любому взаимодействию с пользователем.

Некоторые подробности:

  • Firefox 3.6.12 для Mac / OSX, Snow Leopard.
  • Adobe Flash Plugin 10.1.85.3 / 10.1 r85
  • Приложение Flex работает нормально в своем собственном окне / вкладке, но проблема проявляется, как только html-страница с приложением Flex вставляется в iframe другой страницы.
  • Если я искусственно поставлю флажок «Предупреждение» перед подключением камеры, пользователь сможет взаимодействовать с приложением Flex, но как только появится панель «Конфиденциальность», приложение Flex перестает взаимодействовать.
  • Приложение отлично работает под Chrome и Safari, но я не пробовал это под Windows.
  • Я читал, что существуют проблемы с позиционированием CSS, поэтому я удалил любой стиль CSS, влияющий на приложение Flex.

Прежде чем я изменю свою стратегию и избавлюсь от iframe (что будет стоить мне немало усилий), я был бы рад узнать, сталкивались ли другие с такой же проблемой и есть ли обходные пути.

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

У меня была такая же проблема в течение нескольких недель.Я нашел в чем может быть проблема.Это как-то связано с выравниванием CSS.Попробуйте удалить text-align: center; из div, в котором находится flash, и он снова заработает.Каким-то образом активные области с панели безопасности не сдвигаются вместе с отображаемым изображением…

0 голосов
/ 13 мая 2011

В моем приложении эта проблема, по-видимому, вызвана элементом, содержащим флэш-память, имеющую css margin: 0 auto. Это приводит к тому, что левый край флеш-объекта иногда указывается в виде десятичной дроби, например $('.flash').position().left --> 450.5px. Всякий раз, когда это не целое число, панель безопасности не реагировала на нажатия.

Исправление, описанное в https://bugs.adobe.com/jira/browse/FP-4183 и связанное с Кристиано почти , работает. Однако, когда браузер был изменен настолько, что его размер был настолько мал, что левый край исчезал, он не работал.

Вот что помогло мне решить проблему:

function registerMozillaFlashFix() {
 if ($.browser.mozilla) {
   $(window).resize(function() {
      $(".flash").each(function(ii, e) {
        var $e = $(e);
        $e.css('margin-left', $e.position().left % 1 === 0 ? '0' : '0.5px');
      });
   });
 }
}

Тогда просто позвоните window.resize(), как только ваша вспышка будет настроена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...