![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Модрон-ветеринар
|
Столкнулся с тем, если при использовании ExternalInterface.addCallback блок с флешкой имеет атрибут hidden, то флешка не может зарегистрировать тот метод для JS, который JS должна будет использовать при обращении к флешке.
То есть вот здесь имя метода methodName остается для Java Script неизвестным. Снимаем у div'а атрибут hidden, в котором сидит флешка, тогда все в порядке. Кто-нибудь сталкивался, может помочь? Как держать флешку до поры невидимой, но при этом использовать ExternalInterface.addCallback? PS. Во всех браузерах. Последний раз редактировалось mooncar; 15.01.2010 в 18:36. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
А можно див этот сместить просто за пределы окна браузера вместо hidden?
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Может обернуть флэшку в еще один див, и уже внешнему visible:hidden поставить?
Или display:none попробовать? Или, не знаю, сработает ли, z-index отрицательный поставить.
__________________
hauts.ru |
|
|||||
|
Модрон-ветеринар
|
Цитата:
а вот опять та же история. Спасибо. Добавлено через 1 минуту Цитата:
В общем, помогло только смещение далеко-далеко направо и вниз... Последний раз редактировалось mooncar; 15.01.2010 в 19:26. |
|
|||||
|
Модрон-ветеринар
|
Ого, вот это новости. Вскрылась еще одна пренеприятнейшая деталь.
У меня в этом проекте, как я говороил, до поры флешка должна быть скрыта. Сделал так. При начальной публикации она рендерится за областью видимости, ей назначается соответствующий для этого класс CSS. Регистрируется метод для вызова из JS. Теперь самое любопытное. Запуск флешки происходит в два этапа (две команды из JS) - сперва ей назначается другой класс, который выводи ее в область видимости, вторая команда тут же подается на уже на запуск контента флешки (то есть используется зарегистрированный метод.) Так вот новости какие - все браузеры умнички, а дебил FF после переназначения класса, который выводит флешку в область видимости что делает: заново ее загружает! Что приводит мало к тому, что опять идет ее подгрузка, а самое скверное, что зарегистрированный метод уже не работает. Но ошибок не возникает при этом. Видимо сначала, когда флешка загрузилась за экраном, она отыграла код, который зарегистрировал метод вызова для JS. После подгрузки и перерисовки флешки уже в рабочей зоне метод как бы существует, ошибки при вызове не происходит (Консоль ошибок FF пустая), но метод не срабаьывает, то есть действия, на него прописанные во флешке не происходят. В других браузерах все пашет на ура - даже в IE 6 и Opera. Особенно Опера порадовала - в ней все работает без бубна, без всяких IE-фиксов и expression'ов. Видимо, придется что-то думать дальше. Последний раз редактировалось mooncar; 15.01.2010 в 21:53. |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Можно попробовать так: есть три функции:
1. Спрятана ли флэшка (true / false) - эту функцию флэшка вызывает при загрузке. 2. Показать флэшку. 3. Запустить флэшку. Когда флэшка не в ФФ: 1. Спрятана? JS возвращает true 2. Показывается флэшка 3. Запускается Когда в ФФ: 1. Спрятана? JS возвращает true 2. Показывается флэшка 3. Флэшка перезагружается. 4. Флэшка заново спрашивает, спрятана ли она, и, либо не получает ответ, что значит, что нужно ее запускать, либо получает false (не спрятана), что тоже значит, что ее нужно запускать. Комбинаторика. ![]() "Спрятана ли флэшка" можно прировнять к "Нужно ли флэшке играть"
__________________
hauts.ru Последний раз редактировалось Hauts; 15.01.2010 в 22:10. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|