Flash-параметр wmode: opaque, window, direct - что выбрать?
Flash-параметр wmode:
opaque — не перекрывает уведомления и окна.
При использовании режима opaque приложение отображается внутри страницы не перекрывая окна чата и уведомлений, однако в приложении могут наблюдаться проблемы с вводом кириллического текста.
window — перекрывает уведомления и окна (не рекомендуется).
При использовании режима window приложение отображается поверх всех элементов, перекрывая собой окна чата и уведомления.
direct — использует аппаратное ускорение (рекомендуется только для 3D-графики).
Режим direct обеспечивает максимальную производительность видео и трёхмерной графики, но во многих браузерах приложение может перекрывать окна чата и уведомлений. Используйте его только в случае необходимости.
Эти параметры влияют на прозрачность wmode. Если хотите узнать об этом больше, то поищите информацию в интернете "wmode transparent".
Если вы сделали Flash-приложение с 3D графикой, то логично будет выбрать direct (использует аппаратное ускорение).
Но какой параметр выбрать для приложения без 3D-графики?
Из описания параметров в настройках приложения ВКонтакте, можно увидеть, что проблемы могут возникать с перекрытием окна чата и уведомлений и с вводом кириллического текста.
Что происходит на практике
Я провел тестирование поведения приложения с полем для ввода в разных браузерах, с разными параметрами wmode.
opaque
Chrome 16
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно.
+ «Поиск» открывается корректно.
+ Окно чата отображается корректно.
FireFox 9
+- Корректно вводится латиница. Кириллица вводится, но у меня после ввода 2-3 кириллических символов, браузер зависает и появляется ошибка «Произошёл крах плагина Adobe Flash. Отправить сообщение о падении.»
+ Окно приглашения друзей в приложение открывается корректно.
+ «Поиск» открывается корректно.
+ Окно чата отображается корректно.
Opera 11.60
+- Корректно вводится латиница. Раскладка не переключается, но можно вставить кириллический текст в поле из буфера.
+ Окно приглашения друзей в приложение открывается корректно.
+ «Поиск» открывается корректно.
+ Окно чата отображается корректно.
Safari 5.1.2
- В поле ввода не ввести никакой символ. Но можно вставить из буфера латиницу и кириллицу.
+ Окно приглашения друзей в приложение открывается корректно.
+ «Поиск» открывается корректно.
+ Окно чата отображается корректно.
IE 9
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно.
+ «Поиск» открывается корректно.
+ Окно чата отображается корректно.
Итог: При установке параметра opaque, тщательно протестируйте поля ввода текста в браузерах FireFox, Opera, Safari.
window
Chrome 16
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно, при этом скрывается само Flash-приложение.
- Всплывающая часть «Поиска» перекрыта Flash-приложением.
- Окно чата полностью скрывается под приложением.
FireFox 9
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно, при этом скрывается само Flash-приложение.
+- Всплывающая часть «Поиска» отображается поверх Flash-приложения, за исключением тени.
- Окно чата почти полностью скрывается под приложением, за исключением текстового поля для фильтра друзей.
Opera 11.60
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно, при этом скрывается само Flash-приложение.
+- Всплывающая часть «Поиска» отображается поверх Flash-приложения, за исключением тени.
+ Окно чата отображается корректно.
Safari 5.1.2
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно, при этом скрывается само Flash-приложение.
- Всплывающая часть «Поиска» перекрыта Flash-приложением.
- Окно чата полностью скрывается под приложением.
IE 9
+ Корректно вводится латиница и кириллица.
+ Окно приглашения друзей в приложение открывается корректно, при этом скрывается само Flash-приложение.
+ Всплывающая часть «Поиска» отображается корректно.
+ Окно чата отображается корректно.
Итог: При установке параметра window, тщательно протестируйте всплывающие окна интерфейса ВКонтакте в браузерах Chrome, FireFox, Opera, Safari.
Может быть вы знаете обход каких-то проблем при установке параметра opaque?
P.S. Несмотря на то что в IE9 не было проблем в проверяемых ситуациях, это не самый лучший браузер
Flash-параметр wmode: opaque, window, direct - что выбрать?
Re: Flash-параметр wmode: opaque, window, direct - что выбрать?
за статью спасибо, учту на будущее.
только вот есть опечатка - Crome 16 (Chrome 16?)
а вот в IE 9 разработчики реально переписали достаточно большую часть кода, он стал лучше на глазах. посмотрим на IE10, сохранится ли эта динамика.
только вот есть опечатка - Crome 16 (Chrome 16?)
а вот в IE 9 разработчики реально переписали достаточно большую часть кода, он стал лучше на глазах. посмотрим на IE10, сохранится ли эта динамика.
Re: Flash-параметр wmode: opaque, window, direct - что выбрать?
Не знаю насчет других браузеров, но в Chrome 17 в параметре "opaque" не работают события Event.ACTIVATE, Event.DEACTIVATE. В "window" все норм.
Re: Flash-параметр wmode: opaque, window, direct - что выбрать?
Решил протестить opaque и window с новыми версиями браузеров. Критериев немного больше.
Параметр opaque
Во всех браузерах:
+ Корректно открывается окно приглашения друзей в приложение.
+ Корректно открывается "Поиск".
+ Корректно отображается окно чата.
- Не срабатывают события Event.ACTIVATE и Event.DEACTIVATE.
Chrome 19:
+= Корректно вводится латиница и кириллица, раскладка меняется только через систему (у меня Alt+Shift), но не через дополнительные программы (например, Punto Switcher).
+ Не теряется состояние мыши при выходе за пределы приложения.
Firefox 13:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
- Теряется состояние мыши при выходе за пределы приложения.
Opera 12:
-+ Корректно вводится только латиница, раскладка не переключается.
- Теряется состояние мыши при выходе за пределы приложения.
Internet Explorer 9:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
+ Не теряется состояние мыши при выходе за пределы приложения.
Safari 5.1.7:
- Не вводится текст вообще, о раскладке молчу.
- Теряется состояние мыши при выходе за пределы приложения.
Параметр window
Во всех браузерах:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
+= Корректно открывается окно приглашения друзей в приложение, но скрывается само приложение.
+ Работают события Event.ACTIVATE и Event.DEACTIVATE.
+ Не теряется состояние мыши при выходе за пределы приложения.
Chrome 19, Internet Explorer 9, Safari 5.1.7:
- Не видно "Поиск" из-за приложения.
- Не видно окно чата из-за приложения.
Firefox 13:
+- Видно "Поиск", но не видно тени из-за приложения.
- Не видно окно чата из-за приложения.
Opera 12:
+- Видно "Поиск", но не видно тени из-за приложения.
+ Корректно отображается окно чата.
Параметр opaque
Во всех браузерах:
+ Корректно открывается окно приглашения друзей в приложение.
+ Корректно открывается "Поиск".
+ Корректно отображается окно чата.
- Не срабатывают события Event.ACTIVATE и Event.DEACTIVATE.
Chrome 19:
+= Корректно вводится латиница и кириллица, раскладка меняется только через систему (у меня Alt+Shift), но не через дополнительные программы (например, Punto Switcher).
+ Не теряется состояние мыши при выходе за пределы приложения.
Firefox 13:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
- Теряется состояние мыши при выходе за пределы приложения.
Opera 12:
-+ Корректно вводится только латиница, раскладка не переключается.
- Теряется состояние мыши при выходе за пределы приложения.
Internet Explorer 9:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
+ Не теряется состояние мыши при выходе за пределы приложения.
Safari 5.1.7:
- Не вводится текст вообще, о раскладке молчу.
- Теряется состояние мыши при выходе за пределы приложения.
Параметр window
Во всех браузерах:
+ Корректно вводится латиница и кириллица, корректно меняется раскладка.
+= Корректно открывается окно приглашения друзей в приложение, но скрывается само приложение.
+ Работают события Event.ACTIVATE и Event.DEACTIVATE.
+ Не теряется состояние мыши при выходе за пределы приложения.
Chrome 19, Internet Explorer 9, Safari 5.1.7:
- Не видно "Поиск" из-за приложения.
- Не видно окно чата из-за приложения.
Firefox 13:
+- Видно "Поиск", но не видно тени из-за приложения.
- Не видно окно чата из-за приложения.
Opera 12:
+- Видно "Поиск", но не видно тени из-за приложения.
+ Корректно отображается окно чата.
Re: Flash-параметр wmode: opaque, window, direct - что выбрать?
Код: Выделить всё
<script src="swfobject.js" type="text/javascript"></script><script src="http://code.jquery.com/jquery-latest.js"></script><script type="text/javascript"> var _wmode; if( $.browser.opera ){ _wmode = "window";} else { _wmode = "opaque";} swfobject.embedSWF("myapp.swf?nocache=123456789", "flashContent", "800", "660", "10.1.0", "expressInstall.swf", null, {quality:'high', scale:'showall', allowscriptaccess:'always', allownetworking:'all', wmode: _wmode, flashvars: '' }, {style:'display:block;margin:auto;', id:'myapp', name:'myapp'}); </script>