![]() |
Проблема с вызовом ExternalInterface.call в Opera
Хочу поделиться опытом решения проблемы вызова функции ExternalInterface.call для браузера Opera 9.25+ (более ранние версии не тестировались).
Возникла следующая трудность. У меня был клип меню для сайта, структура которого загружалась из XML, а дальше программно создавались кнопки, вложенное меню и т.п. При этом обработчики событий для кнопок-пунктов меню и анимация для их появления задавалась также программно. Фишка меню состоит в том, что оно 2-уровневое и пункты, которые содержат вложения, плавно разворачиваются/сворачиваются по нажатию на них. В связи с этим возникла необходимость динамического изменения высоты объекта (flash-ролика swf) в браузере средствами JavaScript. Для решения этой проблемы была создана js-функция matchClipSize(width, height), которая и изменяла высоту клипа по запросу. (Для реализации этой фнукции в JS был использован фреймворк MooTools, а для внедрения клипа в HTML - SWFObject 2.0, если кому-то это интересно). Таким образом, при разворачивании/сворачивании меню из ролика вызывался метод: Код:
import mx.transitions.Tween;Код:
function unfoldMenu() {Решение проблемы Никакие ухищрения и мой здравый смысл (а также переустановка FlashPlayer и обновление до Opera 9.27) не помогали, пока я не решился сделать вот это внутри функции unfoldMenu(): Код:
function unfoldMenu() {Код:
function resizeMovieJS(jsWidth, jsHeight) {Одним словом, я надеюсь, что мой пост поможет кому-то, кто (не дай бог, конечно ;) ) столкнется с такой узкоспецифической проблемой)) Всем, кто дочитал мой пост до конца - спасибо за внимание! :cool: Буду рад, если кто-то выскажет пару умных мыслей насчет описанной проблемы, т.к. в форуме я ничего подходящего не нашел. P.S. Работающую версию описанного выше скрипта меню смотрите на этом проекте: www.ilove-you.ru |
Да, забыл сказать, что данная проблема была обнаружена на платформе WinXP FlashPlayer 9, протестирована и ликвидирована для браузеров: IE 6.0, FF 2.0.0.14, Safari 3.0.3, Opera 9.25 - 9.27. IE 7.0 XP/Vista не тестировался.
|
Кто-нибудь сталкивался с такой проблемой и решил ее более умоваримым путем? В часности для третьего скрипта.
|
Попробуй getURL("javascript:<javascript code>")
Я сталкивался с похожей проблемой, но не совсем... в AS2 EI некорректно экранит кавычки, поэтому пришлось имитировать вот таким образом... в AS3 вроде такого не наблюдалось... |
Цитата:
|
Цитата:
Спасибо |
Ок)) тогда я спокоен)) а проблема, действительно, очень узкоспецифична. Я даже не думал, что кому-нибудь тоже придется с ней столкнуться.
|
| Часовой пояс GMT +4, время: 17:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.