![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Сообщений: 74
|
доброе время суток
делаю для одного сайта плеера где при включении одного из них выключался играющий перед ним решил это делать используя джаву и куки сделал тестовую хтмл страничку там 4 плеера к которым прикручено по 2 параметра айди и адрес песни которую он проигрывает связал эту флешку с js файлом players.js который берет айди флешки и сохраняет ее в куки при следующем нажатии на кнопку флешки "плей" он берет из кукисов айди предидущего плеера и должен отослать на него меседж который остоновил бы игру но какраз на этом этапе у меня и стопор ибо почему меседж не доходит для тестинга я сделал не чтоб остановил игру а только чтоб в динамичном текстовом поле флешки выводило слово "СТОП" но оно не работает подскажите почему исходники фла js файл хтмл страничка |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Для взаимодействия нескольких флешек на странице используйте LocalConnection
Последний раз редактировалось rainbowrussia; 25.10.2010 в 14:26. |
|
|||||
|
Модрон-ветеринар
|
.. или используйте ExternalIntreface.
__________________
Идите первым! |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 74
|
а как через ExternalIntreface вызвать функцию без внутрених параметров
потому что судя по всех примерах что я нашол это для того чтоб передавать текст а мне в конечном варианте надо только запустить функцию например "стоп" точнее меня интересует как принять сигнал флешкой |
|
|||||
|
Модрон-ветеринар
|
Ну и что, что в примере передается текст. Вы не передавайте ничего и все.
![]() Просто спользуйте метод ExternalIntreface.addCallback для вызова какой-то функции внутри флешки. Пропишите во флеше какую-нибудь функцию как вызываемую, типа И укажите ее как вызываемую в ExternalIntreface.addCallback После этого выберите некое имя метода для вызова JS и тоже пропишите в ExternalIntreface.addCallback. Потом это имя и используйте снаружи, при выполнении JS. Если наоборот, из флешки нужно обратиться к странице, используйте ExternalIntreface.call. Я бы сделал так. Написал бы на JS функцию которая получает параметром номер из плеера, делает его текущим на странице. При этом по предыдущему текущему номеру останавливает предыдущий плеер.
__________________
Идите первым! Последний раз редактировалось mooncar; 25.10.2010 в 19:46. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 74
|
я так и сделал
но почемуто оно неработает можете взглянуть на исходники или на весь комплекс файлов фла хтмл джава файлик |
|
|||||
|
Модрон-ветеринар
|
Честно говоря, лопатить весь код не хочется. К тому же у меня ваш fla не открывается из-за версии.
Куки там вообще не нужны, если речь идет об одной странице. Все переменные JS можно сохранять прямо на открытой странице. Попробуйте для начала воспроизвести тестовый пример по ExternalIntreface.addCallback из хелпа. То есть, нарисуйте на странице кнопочку, добейтесь того, чтобы по нажатию на нее с флешкой что-то происходило. Затем двигайтесь дальше.
__________________
Идите первым! |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 74
|
сделал текстовое поле и все как в примере
понаставлял кучу алертов в джаве чтоб проверить на каком шаге проблема и после тестинга мне ответ на обьект с флешкой у которой идентификатор "плей4" отвечает [object HTMLObjectElement] я так понял оно нашло обьект или не нашло ) потому что следующий алерт который должен был ити после того как отошлеться меседж незапускаеться и значит этот этап неидет плз помогите ..... Последний раз редактировалось Prior; 25.10.2010 в 22:05. |
|
|||||
|
Модрон-ветеринар
|
[object HTMLObjectElement] - значит JS "нашло" объект!
Все верно. Этот объект и есть сама флешка. Теперь у этого объекта должен быть вызван метод, который определен в AS вот тут как methodName. В JS есть нужно обращаться, например, так: ....для примера ниже: import flash.external.*; ExternalInterface.addCallback('testJS', null, testAS); function testAS() { myText.text = 'Сработало!'; } Или полезным будет включите консоль ошибок в браузере (Обычно в меню "Инструменты" - "Дополнительно" (Опера, FF)). Если JS не сможет достучаться до methodName во флешке, то в консоли появится что-то вроде "нет такого метода у объекта "плей4" или как он у вас н-ся..
__________________
Идите первым! Последний раз редактировалось mooncar; 25.10.2010 в 22:25. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 74
|
мне выводит что movie.textswf is not a function
хотя в .js такой код |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|