![]() |
flash+js и (+Cookies)
доброе время суток
делаю для одного сайта плеера где при включении одного из них выключался играющий перед ним решил это делать используя джаву и куки сделал тестовую хтмл страничку там 4 плеера к которым прикручено по 2 параметра айди и адрес песни которую он проигрывает связал эту флешку с js файлом players.js который берет айди флешки и сохраняет ее в куки при следующем нажатии на кнопку флешки "плей" он берет из кукисов айди предидущего плеера и должен отослать на него меседж который остоновил бы игру но какраз на этом этапе у меня и стопор ибо почему меседж не доходит для тестинга я сделал не чтоб остановил игру а только чтоб в динамичном текстовом поле флешки выводило слово "СТОП" но оно не работает подскажите почему исходники фла js файл хтмл страничка |
Для взаимодействия нескольких флешек на странице используйте LocalConnection
|
.. или используйте ExternalIntreface.
|
а как через ExternalIntreface вызвать функцию без внутрених параметров
потому что судя по всех примерах что я нашол это для того чтоб передавать текст а мне в конечном варианте надо только запустить функцию например "стоп" точнее меня интересует как принять сигнал флешкой |
Ну и что, что в примере передается текст. Вы не передавайте ничего и все. :)
Просто спользуйте метод ExternalIntreface.addCallback для вызова какой-то функции внутри флешки. Пропишите во флеше какую-нибудь функцию как вызываемую, типа Код AS1/AS2:
После этого выберите некое имя метода для вызова JS и тоже пропишите в ExternalIntreface.addCallback. Потом это имя и используйте снаружи, при выполнении JS. Если наоборот, из флешки нужно обратиться к странице, используйте ExternalIntreface.call. Я бы сделал так. Написал бы на JS функцию которая получает параметром номер из плеера, делает его текущим на странице. При этом по предыдущему текущему номеру останавливает предыдущий плеер. |
я так и сделал
но почемуто оно неработает можете взглянуть на исходники или на весь комплекс файлов фла хтмл джава файлик |
Честно говоря, лопатить весь код не хочется. К тому же у меня ваш fla не открывается из-за версии.
Куки там вообще не нужны, если речь идет об одной странице. Все переменные JS можно сохранять прямо на открытой странице. Попробуйте для начала воспроизвести тестовый пример по ExternalIntreface.addCallback из хелпа. То есть, нарисуйте на странице кнопочку, добейтесь того, чтобы по нажатию на нее с флешкой что-то происходило. Затем двигайтесь дальше. |
сделал текстовое поле и все как в примере
понаставлял кучу алертов в джаве чтоб проверить на каком шаге проблема и после тестинга мне ответ на обьект с флешкой у которой идентификатор "плей4" отвечает [object HTMLObjectElement] я так понял оно нашло обьект или не нашло ) потому что следующий алерт который должен был ити после того как отошлеться меседж незапускаеться и значит этот этап неидет плз помогите ..... |
[object HTMLObjectElement] - значит JS "нашло" объект!
Все верно. Этот объект и есть сама флешка. Теперь у этого объекта должен быть вызван метод, который определен в AS вот тут Код:
addCallback(methodName:String, instance:Object, method:Function)В JS есть нужно обращаться, например, так: Код:
var flashPlayer = document.getElementById("player");Код AS1/AS2:
Или полезным будет включите консоль ошибок в браузере (Обычно в меню "Инструменты" - "Дополнительно" (Опера, FF)). Если JS не сможет достучаться до methodName во флешке, то в консоли появится что-то вроде "нет такого метода у объекта "плей4" или как он у вас н-ся.. |
мне выводит что movie.textswf is not a function
хотя в .js такой код Код:
function textToswf() { |
| Часовой пояс GMT +4, время: 08:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.