відмінності між використанням wmode = "прозорий", "непрозорий" або "вікно" для вбудованого об'єкта на веб-сторінці


74

при вбудовуванні Flash-об'єкта з тегом <object>і <embed>, існує атрибут, який називається wmode. Здається, що більшу частину часу wmode="transparent"це те саме, wmode="opaque"що і Flash фактично не має жодного прозорого кольору, щоб відображався нижній елемент HTML. Як результат, це opaqueмає бути швидше, ніж transparentоскільки воно вимагає меншої обробки для прозорості, але більшу частину часу я бачу Flash-об'єкт, вбудований transparentзамість opaque.

opaque потрібен для того, щоб інший елемент HTML не прикривався об’єктом Flash (наприклад, пункт меню, що з’являється додаткове підменю, не закривався об’єктом Flash).

До речі, є офіційна документація для wmode«з opaque, transparentі window? Я зміг знайти лише блоги, які описують це, але не офіційну документацію. Дякую.


Дякуємо, що пояснили, що wmode = "opaque" потрібен, щоб інші елементи HTML не приховувались. Вбудовування відео на YouTube зводило мене з розуму цим. Вбудований код YouTube за замовчуванням не містить wmode, і він перекривав інші div, хоча вони мали вищі значення z-індексу. Дякую.
raddevus

Відповіді:


35

Ось кілька слабких Adobe-документацій щодо різних налаштувань flash 9 wmode.

Застереження щодо wmode transparent знаходиться тут, в Adobe Trac Trag .

І новими для flash 10 є два нові режими: gpu і direct. Зверніться до бази знань Adobe про wmode .


6
чудово, ось цитата документа: wmode - Можливі значення: вікно, непрозоре, прозоре. Встановлює властивість режиму вікна для фільму Flash для прозорості, нашарування та позиціонування у браузері. вікно - фільм відтворюється у власному прямокутному вікні веб-сторінки. непрозорий - фільм приховує все на сторінці, що знаходиться за ним. прозорий - фон HTML-сторінки відображається крізь усі прозорі частини фільму, це може сповільнити продуктивність анімації.
нонополярність

20

Непрозорий призведе до меншої напруги системи, оскільки "прозорий" все одно намагатиметься застосувати альфа-програму. Причиною того, що замість цього ви бачите прозорий, є те, що більшість веб-авторів не звертають уваги на деталі (тобто просто скопіювали якийсь вбудований код, який вони знайшли).

До речі, ви маєте рацію щодо того, що воно не оформлено документально. Найкраще, що я коли-небудь бачив, - це блог хлопця, який стверджує, що спілкувався про це з розробником Macromedia. На жаль, я не можу знайти посилання.

EDIT : Я думаю, що це був цей: http://www.communitymx.com/content/article.cfm?cid=e5141


7

також, разом wmode=opaqueіз IE, Flash отримує події клавіатури, але також їх отримує сторінка html, тому його не можна використовувати для чогось типу вбудування флеш-гри. Дуже дратує


1
Це не відповідає на питання.
капа

3
@bazmegakapa: як це не відповідає на питання? це дуже важлива різниця в поведінці (я зазнав це на дуже важливому веб-сайті ігор, що робить його непридатним для використання :(), і не дуже добре задокументована
різниця

4
ОП попросив ресурсів щодо цих аргументів. На мою думку, ваша відповідь могла б зробити хороший і важливий коментар.
капа

Незалежно від того, чи це стосується питання чи відповіді, це було дуже корисно. Дякую!
jmq


2

Одна дивна річ полягає в тому, що в Chrome + Firefox подія MOUSE_LEAVE не відправляється для OPAQUEі TRANSPARENT.

З WINDOWцим чудово працює. Цьому знадобився трохи часу, щоб це з’ясувати! grr ...

(примітка: jediericb згадав про цю помилку - яка схожа, але не згадує MOUSE_LEAVE)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.