Как сделать Flash фильм с прозрачным фоном

На этой странице от Adobe говорится, что нужно добавить параметр «wmode» и установить его значение «прозрачный»: http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_1420

Это работает безупречно в IE. Фон корректно отображается в Firefox и Safari, однако, как только вы используете полосу прокрутки браузера, затем наведите курсор мыши на элемент управления Flash, вы должны нажать один раз, чтобы активировать элемент управления. Вы можете увидеть это поведение, если попытаетесь нажать кнопку воспроизведения в примере Adobe.

Кто-нибудь знает способ обойти это?

9.08.2008 13:54:29
5 ОТВЕТОВ
РЕШЕНИЕ

Вы знаете, что можете установить цвет фона при встраивании?

Следующие атрибуты являются необязательными при определении тегов объекта и / или встраивания. Для объекта все атрибуты определены в тегах param, если не указано иное:

bgcolor - [шестнадцатеричное значение RGB] в формате #RRGGBB. Определяет цвет фона фильма. Используйте этот атрибут, чтобы переопределить настройку цвета фона, указанную в файле Flash. Этот атрибут не влияет на цвет фона HTML-страницы.

Вырезать и вставить из http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701&sliceId=1

1
25.08.2008 13:38:11

Включение режима без окон (wmode =) заставляет встроенную вспышку действовать и рендерить, как и другие элементы. Без этого он отображается отдельным шагом и просто накладывается на окно браузера.

Может ли элемент вспышки терять фокус? Похоже, что фокус ввода перемещен на полосу прокрутки, а затем вы должны переместить его обратно.

Также вам не было ясно, была ли проблема фокуса только в FF или также в IE.

0
9.08.2008 14:19:43

Пример Adobe «работает» в Firefox 3.0.1 в том смысле, что фон прозрачен. Однако в Firefox 3.0.1 и Safari 3.1.2 необходимо дважды нажать кнопку воспроизведения, чтобы увидеть анимацию.

0
11.08.2008 14:33:56

На другой ноте; установка прозрачного wmode имеет несколько изломов. Например, в некоторых старых версиях Firefox (до 2.0) он может прервать прокрутку (флеш-память остается на том же месте, независимо от прокрутки). У меня также были проблемы с комбинациями клавиш ALT в текстовых полях, которые не работают, когда wmode прозрачен.

Кроме того, если вам нужно поместить html-контент поверх flash-контента (это не очень хорошая идея, но есть случаи, когда это полезно), wmode = transparent - это путь.

2
13.08.2008 13:50:07

Потратив немного больше времени на это, я согласен с @grapefrukt. Установка прозрачного wmode приводит к разным странным проблемам, и, на мой взгляд, этого следует избегать.

Вместо этого я прибегнул к передаче цвета фона в качестве параметра. Я использую следующий ActionScript, чтобы нарисовать фон.

var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters;
opaqueBackground = parameters["background-color"];

РЕДАКТИРОВАТЬ: Спасибо @grapefrukt за напоминание мне о параметре bgcolor (что делает ActionScript выше совершенно ненужным)

0
28.08.2008 04:23:26