|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2010
Сообщений: 12
|
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 ничего не дает, валится гораздо раньше, на попытке вызвать функцию, а не от неправильной работы самой функции. И теперь собственно вопрос что это вообще за ошибка такая, от чего она может возникать, в какую сторону копать чтобы хоть что-то нарыть ? Всем заранее спасибо за помощь и идеи. |
|
|||||
Регистрация: Feb 2010
Сообщений: 12
|
ExternalInterface.available говорит true, я вообще использую вот такую конструкцию чтобы определить callback'и:
ну и получаю addcallback done Последний раз редактировалось Kubik129; 02.09.2010 в 12:04. |
|
|||||
Регистрация: Feb 2010
Сообщений: 12
|
Да, ошибка возникает при вызове функции myFunction в javascript
|
|
|||||
Регистрация: Feb 2010
Сообщений: 12
|
хм, мысль интересная, сейчас буду пробовать
Добавлено через 17 минут попробовал... приведу код actionscript'a function setText () { textField.text = "function work"; } if (ExternalInterface.available) { try { ExternalInterface.addCallback("myFunction", setText) textField.text = "addCallback done"; } catch (e) { textField.text = e; } } в разных вариантах: при пустой функции, при вставке конструкции try/catch, и при простой попытке смены текста выдается эта нехорошая ошибка. Мое подозрение, что ошибка возникает в момент связи между js и as, а не при исполнении функции as. Можно ли посмотреть пошагово процесс установки соединения и передачи данных между js и as ? |
|
|||||
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
а сама js-функция точно работает?
вставьте в хтмл кнопку с onClick="myFunction();" и посмотрите, что происходит. смотреть надо в дебаг-режиме каком-нибудь |
|
|||||
Регистрация: Feb 2010
Сообщений: 12
|
Сама javascript функция занимается только вызовом as-функции выглядит она так:
да, она точно работает, ее я firebug'ом посмотрел. До вызова myFunction все отлично, но на нем и вылезает эта ошибка |
|
|||||
Регистрация: Nov 2008
Сообщений: 528
|
Перечисляйте, наверное, какие у вас нетривиальные вещи использованы, на чём пишете, чем тестируете, браузер... Какая-нибудь мелочь способна решить проблему. У меня, вот, ошибка возникала из-за того, что имя флешки (точнее - id этой флешки на странице) начиналось с цифры. Последний раз редактировалось Stargazer; 02.09.2010 в 19:59. |
Часовой пояс GMT +4, время: 08:47. |
|
« Предыдущая тема | Следующая тема » |
Теги |
actionscript , exception , try/catch , uncaught |
|
|