wmode - Что это означает в поведении рендеринга браузера? - PullRequest
5 голосов
/ 19 июня 2011

Wmode в тегах объектов и тегах iframe.

Существует множество дискуссий о том, как правильно настроить навигацию на флеш-страницах и т. Д.

- Кто-то, пожалуйста, объясните подробно, что атрибут делает в действительности. Любой уровень технических деталей принимается.

Спасибо

1 Ответ

14 голосов
/ 23 июня 2011

wmode - это параметр, исключающий тег <embed>, относящийся к Flash-фильмам. Значением по умолчанию является wmode=window.

wmode=window

Когда wmode=window, ролик Flash не отображается на странице. Вместо этого он отображается в отдельном окне, нежели содержимое браузера (как проверено с помощью Spy ++ или WinSpy ++ ). Этот режим будет иметь наилучшую производительность, так как браузеру не нужно перерисовывать часть страницы в каждом фрейме. Однако этот режим не позволяет отображать содержимое над или под фильмом Flash.

  • Лучшая производительность
  • Отображается в отдельном окне
  • Непрозрачный фон
  • Не разрешает содержание ниже
  • Запрещает содержание выше

wmode=opaque

Когда wmode=opaque, Flash-ролик отображается как часть страницы. Окно для фильма не создано. Фильм будет отображаться с цветом фона, установленным в процессе публикации, и контент не будет разрешен. В каждом кадре содержимое, которое появляется над фильмом, должно перерисовываться браузером, что влияет на производительность.

  • Хорошая производительность
  • Отображается как часть страницы
  • Непрозрачный фон
  • Запрещает содержание ниже
  • Позволяет содержание выше

wmode=transparent

Когда wmode=transparent, Flash-ролик отображается как часть страницы. Окно для фильма не создано. Цвет фона фильма будет прозрачным. Таким образом, любой непрозрачный фрагмент фильма позволит отображать основной контент. В каждом кадре содержимое, которое появляется над и под фильмом, должно перерисовываться браузером, что сильно влияет на производительность.

  • Честная производительность
  • Отображается как часть страницы
  • Прозрачный фон
  • Позволяет содержание ниже
  • Позволяет содержание выше

РЕДАКТИРОВАТЬ: Вот ответы на ваши дополнительные вопросы ...

Является ли wmode атрибутом только FLASH?
Да, wmode доступно только в тегах <embed>, встраивающих Flash-ролик.

Какое влияние на производительность оказывают различные значения?
wmode=window будет иметь наилучшую производительность, так как ролик Flash воспроизводится совершенно отдельно от самой страницы. Браузер не должен обновлять или вычислять позицию z-индекса контента, появляющегося над фильмом Flash, поскольку фильм Flash в этом режиме отображается в совершенно отдельном окне (что можно проверить с помощью Spy ++).

wmode=opaque и mode=transparent оба следуют очень похожим путям рендеринга. Однако они медленнее, чем wmode=window, потому что браузер должен проверять элементы, чтобы увидеть, визуализируются ли они выше, чем фильм, и отображать их в каждом кадре. Обратите внимание, что wmode=transparent медленнее, чем wmode=opaque, поскольку он также должен отображать базовый контент и накладывать контент.

Итак, в порядке исполнения ...

FASTEST ----------------------------- SLOWEST

WINDOW             OPAQUE         TRANSPARENT
...