Как встроить ненавязчивую вспышку?

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

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

Как сделать вспышку ненавязчивой?

Пояснения:
- флешка прозрачна, но имеет анимацию, которая отображается в фоновом режиме.
- wmode, установленный на прозрачный, позволяет вам щелкать содержимое под ним в IE, но не в Firefox.


person Marcel    schedule 28.10.2008    source источник
comment
ПОЖАЛУЙСТА не делайте подобных вещей. Это может работать на вашем компьютере. Но есть много проблем с flash на разных платформах, и flash-контент, перекрывающий html-контент, — одна из них! Вы сделаете сайт непригодным для пользователей только ради причудливого анимационного эффекта.   -  person ypnos    schedule 28.10.2008
comment
Это требования заказчика. Я надеюсь на лучшие альтернативы?   -  person Marcel    schedule 28.10.2008
comment
Исправление опечатки: это требования заказчика. Я открыт для лучших альтернатив?   -  person Marcel    schedule 28.10.2008


Ответы (4)


Проблема в том, что в вашем документе object/embed, содержащие Flash-анимацию, находятся поверх элементов, к которым вам нужен доступ. Вам нужно поместить эти элементы поверх Flash-анимации, а не наоборот.

Способ сделать это — сделать wmode объекта непрозрачным и использовать свойство CSS z-index, чтобы установить его на z-index ниже, чем z-index любых элементов, которые вы хотите поместить над ним — вы можете сделать это в CSS или просто с помощью встроенные style="" атрибуты.

Вот пример использования SWFObject для создания object/ embed, но тот же принцип применяется, если вы просто жестко кодируете их в свой HTML.

person joelhardi    schedule 28.10.2008
comment
Рендеринг HTML поверх Flash — это немного случайно, так что будьте осторожны! - person Iain; 28.10.2008

Я не знал, что может быть такая вещь, как ненавязчивая вспышка.

А если серьезно: чего вы вообще пытаетесь добиться с помощью слоя флэш-памяти?

Я предлагаю сделать шаг назад и посмотреть на страницу в целом. Если нужны вещи под вспышкой, переместите вспышку в другое место или замените ее реальными элементами на странице, которые служат той же цели.

person HS.    schedule 28.10.2008
comment
Просто уточнил это в моем редактировании. Вспышка имеет анимацию, которая работает в фоновом режиме. - person Marcel; 28.10.2008

Какова цель Flash? Если он не делает ничего видимого, вы можете сделать его размером в 1 пиксель и/или поместить в div, который абсолютно расположен за пределами экрана.

person Gerald    schedule 28.10.2008
comment
Вспышка имеет анимацию, которая работает в фоновом режиме. - person Marcel; 28.10.2008

Я думаю, что, возможно, я нашел ответ на свой вопрос.

Существует библиотека javascript под названием Unobtrusive Flash Objects (UFO), которая устарела и теперь является swfobject.

Я попробую и отчитаюсь.

person Marcel    schedule 28.10.2008