![]() |
uncaught exception при вызове ExternalInterface callback
Приветы всем.
Ситуация следующая: хочется организовать вызов функции Actionscript из javascript'a. Для этого использую класс ExternalInterface и его метод addCallback, как описано например здесь. Тестовый пример сделал как описано в этом примере. И все нормально работает. Трудности начались при попытке использовать эту схему в конечном проекте. Код хтмл страниц генерируется на стороне сервера пхпешными скриптами и выдается клиенту уже в готовом виде. Для работы с клиентской частью используется prototype.js фреймворк. На страницу помещаем флешку, которая будет принимать сигналы от javascript'a и выполнять нужные нам действия. Делаю все тоже самое как в примере, во флешке прописываю addCallback'и, цепляю объекты flash и вызываю функции этих flash объектов, которые были объявлены в addCallback. И получаю такую ошибку: uncaught exception: Error in Actionscript. Use a try/catch block to find error. попытка насовать try/catch внутрь actionscript'a ничего не дает, валится гораздо раньше, на попытке вызвать функцию, а не от неправильной работы самой функции. И теперь собственно вопрос :) что это вообще за ошибка такая, от чего она может возникать, в какую сторону копать чтобы хоть что-то нарыть ? Всем заранее спасибо за помощь и идеи. |
Что говорит ExternalInterface.available?
|
ExternalInterface.available говорит true, я вообще использую вот такую конструкцию чтобы определить callback'и:
Код AS3:
|
И когда возникает ошибка? При попытке вызвать функцию myFunction из JavaScript?
|
Да, ошибка возникает при вызове функции myFunction в javascript
|
что в функции? Попробуйте поставить прерывание в самом начале функции, что бы точно определить момент возникновения ошибки. Возникает ли ошибка, если функция пустая?
|
хм, мысль интересная, сейчас буду пробовать
Добавлено через 17 минут попробовал... приведу код actionscript'a Код AS3:
в разных вариантах: при пустой функции, при вставке конструкции try/catch, и при простой попытке смены текста выдается эта нехорошая ошибка. Мое подозрение, что ошибка возникает в момент связи между js и as, а не при исполнении функции as. Можно ли посмотреть пошагово процесс установки соединения и передачи данных между js и as ? |
а сама js-функция точно работает?
вставьте в хтмл кнопку с onClick="myFunction();" и посмотрите, что происходит. смотреть надо в дебаг-режиме каком-нибудь |
Сама javascript функция занимается только вызовом as-функции выглядит она так:
Код AS3:
|
Перечисляйте, наверное, какие у вас нетривиальные вещи использованы, на чём пишете, чем тестируете, браузер... Какая-нибудь мелочь способна решить проблему. У меня, вот, ошибка возникала из-за того, что имя флешки (точнее - id этой флешки на странице) начиналось с цифры. |
| Часовой пояс GMT +4, время: 12:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.