PDA

Просмотр полной версии : Textfield, прозрачный фон Flash-ролика и проблема со шрифтом


deep_freeze
11.11.2008, 01:35
Здравствуйте, уважаемые флешеры!

Нашёл недавно один любопытный баг... Я создал Flash-ролик с текстовым полем для поиска по сайту. Решил сделать сам ролик полупрозрачным (чтобы накладывать его сверху на масштабируемую ячейку таблицы с фоном-картинкой), но возникла следующая проблема: в текстовом поле дефолтный текст был, но если пользователь хотел набрать что-то новое, то:

1) либо при наборе ничего не происходило, т.е. символы не появлялись при нажатии клавиш

2) либо символы латинского алфавита набирались, а кириллического - нет

3) либо символы латинского алфаваита набирались, а при попытке набора кириллических символов писало какую-то ерунда (при нажатии одной клавиши в поле появлялось два символа - вероятно, какая-то трабла с UTF8)

4) либо символы латинского алфавита набирались, а при попытке набора кириллических символов писало латинские символы, как если бы набор осуществлялся в английской раскладке

5)либо символы латинского алфавита набирались, а при попытке набора кириллических символов писало латинские символы и цифры, но они были как бы невпопад.


Долго я провозился с встраиванием шрифтов и прочим. Но даже при выборе стандартных шрифтов (как например, группы шрифтов _sans), ничего не менялось. Когда же я убрал прозрачность фона Flash-ролика, всё замечательно заработало...

Прозрачность фона я устанавливал параметром wmode = "transparent".

Здесь:

http://frozenpixels.org/aster/search.html

находится страница с флеш-роликом, на ней представлены три варианта:
1) с непрозрачным фоном
2) с прозрачным фоном и стандартной вставкой флеш-ролика тэгами object и embed
3) с прозрачным фоном и со вставкой в страницу флеша при помощи SWFObject


Пожалуйста, подскажите, как можно избавиться от сабжевой траблы, так, чтобы и фон оставить полупрозрачным, и текст нормально в поле набирался...

Заранее благодарен...

iNils
11.11.2008, 02:06
Это "вечный" баг флеша, кочующий от версии к версии. Проблема решаема только в IE, с помощью перехвата вводимых кодов, а вот в других это не работает.
Могу предложить следущее:
1. Сделать фон во флешке таким же как и в фоне таблице, а саму флешку не прозрачной.
2. Сделать одну флешку прозрачной, а поверх нее непрозрачную только с полем ввода.

miukki
17.12.2008, 02:09
а в коде
swfobject.embedSWF("search.swf", "flash_search", "175", "145", "9.0.0", "", null,params);
параметр
flash_search зачем? это что за параметр.

Добавлено через 11 минут
а я разобралась )))