Как сделать Flash ролик с прозрачным фоном
Вопрос
На этой странице Adobe говорится, что нужно добавить параметр «wmode» и установить для него значение «прозрачный»: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_1420
В IE это работает безупречно.Фон корректно отображается в Firefox и Safari, однако, как только вы используете полосу прокрутки браузера и наводите курсор мыши на элемент управления Flash, вам необходимо щелкнуть один раз, чтобы активировать элемент управления.Вы можете увидеть такое поведение, если попытаетесь нажать кнопку воспроизведения в примере Adobe.
Кто-нибудь знает способ обойти это?
Решение
Вы знаете, что можете установить цвет фона при встраивании?
Следующие атрибуты являются необязательными при определении объекта и/или тегов внедрения.Для объекта все атрибуты определяются в тегах параметров, если не указано иное:
фоновый цвет — [шестнадцатеричное значение RGB] в формате #RRGGBB.Определяет цвет фона фильма.Используйте этот атрибут, чтобы переопределить настройку цвета фона, указанную в файле Flash.Этот атрибут не влияет на цвет фона HTML-страницы.
Вырезать и вставить из http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701&sliceId=1
Другие советы
С другой стороны;установка прозрачного режима wmode имеет несколько особенностей.Например, это может нарушить прокрутку (флэш-память остается на том же месте, независимо от прокрутки) в некоторых старых версиях Firefox (до 2.0).У меня также были проблемы с комбинациями клавиш ALT в текстовых полях, которые не работали, когда wmode прозрачен.
Кроме того, если вам нужно разместить html-контент над flash-контентом (в целом это не очень хорошая идея, но бывают случаи, когда это полезно), wmode=transparent — это то, что вам нужно.
Включение безоконного режима (wmode=) заставляет встроенный Flash работать и отображаться так же, как и другие элементы.Без этого он отображается на отдельном этапе и просто накладывается на окно браузера.
Может ли элемент вспышки терять фокус?Похоже, фокус ввода перемещен на полосу прокрутки, а затем вам придется переместить его обратно.
Также вам не было ясно, была ли проблема с фокусом только в FF или в IE.
Пример Adobe «работает» в Firefox 3.0.1 в том смысле, что фон прозрачен.Однако в Firefox 3.0.1 и Safari 3.1.2 вам необходимо дважды нажать кнопку воспроизведения, чтобы увидеть анимацию.
Потратив на это еще немного времени, я согласен с @grapefrukt.Установка прозрачного режима для wmode приводит к разного рода странным проблемам, и, на мой взгляд, этого следует избегать.
Вместо этого я прибегнул к передаче цвета фона в качестве параметра.Я использую следующий ActionScript для рисования фона.
var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters;
opaqueBackground = parameters["background-color"];
РЕДАКТИРОВАТЬ:Спасибо @grapefrukt за напоминание о параметре bgcolor (что делает приведенный выше ActionScript совершенно ненужным).