Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » ACTIONSCRIPT 3 ExternalInterface

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В коде приложения:
[ACTIONSCRIPT]ExternalInterface.call('test')[/ACTIONSCRIPT]
 
В js:
[JS]function test() {alert('FOR?');}[/JS]
 
По логике зацикливаться не должно, но у меня каждую секунду происходит вызов функции test из яваскрипта.
Если так работает метод, как обратиться к функции только один раз? Подскажите...

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 22:41 07-06-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1

Цитата:
Если так работает метод, как обратиться к функции только один раз?

метод так не работает, причина в чем то еще.

Всего записей: 16389 | Зарегистр. 20-09-2014 | Отправлено: 22:44 07-06-2015
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Если обратиться из яваскрипта к этому же методу, вызов произойдет только один раз, а если наоборот - из флэш к яваскрипту вызывет каждый промежуток времени.
Уже весь код перерыл, вроде так не должно получаться да и циклов там никаких нет.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 22:49 07-06-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1
значит во флеш у вас вызов идет по какому то повторяющемуся событию или таймеру.
 
если, к примеру, событие наведения мышки на что то, то оно может генериться не один раз.

Всего записей: 16389 | Зарегистр. 20-09-2014 | Отправлено: 22:53 07-06-2015 | Исправлено: Mavrikii, 22:54 07-06-2015
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
В последнее время добавил пару событий и таймер.
Но это совсем никак не связано с этой функцией. Вообще ничего не понимаю.
Было stage.addEventListener.
 
Добавлено:
Закоментировал новый код и ничего не изменилось.
Наверно и раньше также работало, просто не проверял.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 22:58 07-06-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1
используйте getStackTrace и посмотрите откуда и как вызывается.

Всего записей: 16389 | Зарегистр. 20-09-2014 | Отправлено: 23:12 07-06-2015
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Причем на флэшку даже курсор не устанавливал.
Пробовал убирать и onEnterFrame. Тоже безрезультатно.
 
А так больше ничего никуда и не вешается до начала воспроизведения в плеере. Поубирвал все addEventListener и глюк остался.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 23:16 07-06-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1
значит что то упускаете.. но телепатов тут нет, к сожалению )  
выложите проект, если хотите.

Всего записей: 16389 | Зарегистр. 20-09-2014 | Отправлено: 23:20 07-06-2015
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Я сделал так: закомментировал весь код кроме участка с вызовом ExternalInterface.call('test').
И получил тот же результат.
Если закомментировать и эту строку, функция не вызывается.
 
Значит получается что так этот метод и работает.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 23:21 07-06-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
a1eksei1

Цитата:
Значит получается что так этот метод и работает

не думаю
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#call()
 

Цитата:
Если закомментировать и эту строку, функция не вызывается.  

замените на trace и посмотрите, будет ли выводить раз или аналогично

Всего записей: 16389 | Зарегистр. 20-09-2014 | Отправлено: 23:25 07-06-2015
a1eksei1

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
 замените на trace и посмотрите, будет ли выводить раз или аналогично

 
Опа-на! Аналогично!
Непонимаю, может дело в настройках проекта... может быть как-то случайно их поменял.
 
Добавлено:
Среда Adobe Flash Professional CS6
 
Добавлено:
Выяснил что кнопка F5 добавляет кадр. И временная шкала расширилась. Вот только как поудалять эти кадры пока не разобрался.
 
Добавлено:
Плюнул на всю эту кадровую чушь.
Создал новый проект с такими же слоями и перенес все элементы (хорошо что их немного).
И заработало как надо.

Всего записей: 89 | Зарегистр. 26-05-2015 | Отправлено: 23:27 07-06-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » ACTIONSCRIPT 3 ExternalInterface


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru