На этой странице Adobe предлагается добавить параметр «wmode» и установить для него значение «transparent»: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_1420
В IE это работает безупречно. Фон отображается правильно в Firefox и Safari, однако, как только вы используете полосу прокрутки браузера и наведите указатель мыши на элемент управления Flash, вы должны щелкнуть один раз, чтобы активировать элемент управления. Вы можете увидеть это поведение, если попытаетесь нажать кнопку воспроизведения в примере Adobe.
Кто-нибудь знает способ обойти это?
![[UX] Категории и настройки внешнего вида Flash-сообщений](https://i.imgur.com/5LZljB8b.jpeg)
Включение безоконного режима (wmode =) заставляет встроенную вспышку работать и визуализировать так же, как и другие элементы. Без этого он отображается на отдельном этапе и просто накладывается на окно браузера.
Может ли элемент вспышки терять фокус? Похоже, что фокус ввода перемещен на полосу прокрутки, а затем вам нужно переместить его обратно.
Также вам не было ясно, была ли проблема с фокусом только в FF или также в IE.
Пример Adobe «работает» в Firefox 3.0.1 в том смысле, что фон прозрачный. Однако в Firefox 3.0.1 и Safari 3.1.2 вы должны дважды нажать кнопку воспроизведения, чтобы увидеть анимацию.
С другой стороны; установка прозрачного режима wmode имеет несколько недостатков. Например, он может прервать прокрутку (вспышка остается на том же месте, не обращая внимания на прокрутку) в некоторых старых версиях Firefox (до 2.0). У меня также были проблемы с комбинациями клавиш ALT в текстовых полях, которые не работают, когда wmode прозрачен.
Кроме того, если вам нужно разместить html-контент над flash-контентом (в общем, это не очень хорошая идея, но есть случаи, когда это полезно), wmode = transparent - это то, что вам нужно.
Потратив на это еще немного времени, я согласен с @grapefrukt. Установка прозрачного режима wmode приводит ко всевозможным странным проблемам, и, на мой взгляд, этого следует избегать.
Вместо этого я прибег к передаче цвета фона в качестве параметра. Я использую следующий код ActionScript для рисования фона.
var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters;
opaqueBackground = parameters["background-color"];
Обновлено: Спасибо @grapefrukt за напоминание мне о параметре bgcolor (который делает ActionScript выше совершенно ненужным)
Вы знаете, что можете установить цвет фона при встраивании?
The following attributes are optional when defining the object and/or embed tags. For object , all attributes are defined in param tags unless otherwise specified:
bgcolor - [ hexadecimal RGB value] in the format #RRGGBB . Specifies the background color of the movie. Use this attribute to override the background color setting specified in the Flash file. This attribute does not affect the background color of the HTML page.
Вырезать и вставить из http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701&sliceId=1