Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.10.2010, 15:45
Prior вне форума Посмотреть профиль Отправить личное сообщение для Prior Найти все сообщения от Prior
  № 1  
Ответить с цитированием
Prior

Регистрация: Aug 2009
Сообщений: 74
По умолчанию flash+js и (+Cookies)

доброе время суток
делаю для одного сайта плеера где
при включении одного из них выключался играющий перед ним
решил это делать используя джаву и куки
сделал тестовую хтмл страничку
там 4 плеера к которым прикручено по 2 параметра айди и адрес песни которую он проигрывает

связал эту флешку с js файлом players.js
который берет айди флешки и сохраняет ее в куки
при следующем нажатии на кнопку флешки "плей"
он берет из кукисов айди предидущего плеера и должен отослать на него меседж
который остоновил бы игру

но какраз на этом этапе у меня и стопор
ибо почему меседж не доходит

для тестинга я сделал не чтоб остановил игру а только чтоб в динамичном текстовом поле флешки выводило слово "СТОП"
но оно не работает

подскажите почему


исходники фла
js файл
хтмл страничка

Старый 24.10.2010, 22:57
rainbowrussia вне форума Посмотреть профиль Отправить личное сообщение для rainbowrussia Найти все сообщения от rainbowrussia
  № 2  
Ответить с цитированием
rainbowrussia
 
Аватар для rainbowrussia

Регистрация: Feb 2008
Сообщений: 560
Для взаимодействия нескольких флешек на странице используйте LocalConnection


Последний раз редактировалось rainbowrussia; 25.10.2010 в 14:26.
Старый 24.10.2010, 23:48
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 3  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
.. или используйте ExternalIntreface.
__________________
Идите первым!

Старый 25.10.2010, 18:50
Prior вне форума Посмотреть профиль Отправить личное сообщение для Prior Найти все сообщения от Prior
  № 4  
Ответить с цитированием
Prior

Регистрация: Aug 2009
Сообщений: 74
а как через ExternalIntreface вызвать функцию без внутрених параметров
потому что судя по всех примерах что я нашол это для того чтоб передавать текст
а мне в конечном варианте надо только запустить функцию
например "стоп"

точнее меня интересует как принять сигнал флешкой

Старый 25.10.2010, 19:43
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 5  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ну и что, что в примере передается текст. Вы не передавайте ничего и все.
Просто спользуйте метод ExternalIntreface.addCallback для вызова какой-то функции внутри флешки.

Пропишите во флеше какую-нибудь функцию как вызываемую, типа
Код AS1/AS2:
function stopIt()
{
   stop();
}
И укажите ее как вызываемую в ExternalIntreface.addCallback

После этого выберите некое имя метода для вызова JS и тоже пропишите в ExternalIntreface.addCallback.
Потом это имя и используйте снаружи, при выполнении JS.

Если наоборот, из флешки нужно обратиться к странице, используйте ExternalIntreface.call.

Я бы сделал так. Написал бы на JS функцию которая получает параметром номер из плеера, делает его текущим на странице. При этом по предыдущему текущему номеру останавливает предыдущий плеер.
__________________
Идите первым!


Последний раз редактировалось mooncar; 25.10.2010 в 19:46.
Старый 25.10.2010, 19:55
Prior вне форума Посмотреть профиль Отправить личное сообщение для Prior Найти все сообщения от Prior
  № 6  
Ответить с цитированием
Prior

Регистрация: Aug 2009
Сообщений: 74
я так и сделал
но почемуто оно неработает
можете взглянуть на исходники или на весь комплекс файлов
фла
хтмл
джава файлик

Старый 25.10.2010, 20:07
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Честно говоря, лопатить весь код не хочется. К тому же у меня ваш fla не открывается из-за версии.

Куки там вообще не нужны, если речь идет об одной странице. Все переменные JS можно сохранять прямо на открытой странице.

Попробуйте для начала воспроизвести тестовый пример по ExternalIntreface.addCallback из хелпа.
То есть, нарисуйте на странице кнопочку, добейтесь того, чтобы по нажатию на нее с флешкой что-то происходило.
Затем двигайтесь дальше.
__________________
Идите первым!

Старый 25.10.2010, 22:01
Prior вне форума Посмотреть профиль Отправить личное сообщение для Prior Найти все сообщения от Prior
  № 8  
Ответить с цитированием
Prior

Регистрация: Aug 2009
Сообщений: 74
сделал текстовое поле и все как в примере
понаставлял кучу алертов в джаве чтоб проверить на каком шаге проблема
и после тестинга мне ответ на обьект с флешкой у которой идентификатор "плей4"
отвечает [object HTMLObjectElement]
я так понял оно нашло обьект
или не нашло )
потому что следующий алерт который должен был ити после того как отошлеться меседж незапускаеться
и значит этот этап неидет

плз помогите .....


Последний раз редактировалось Prior; 25.10.2010 в 22:05.
Старый 25.10.2010, 22:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 9  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
[object HTMLObjectElement] - значит JS "нашло" объект!

Все верно. Этот объект и есть сама флешка.

Теперь у этого объекта должен быть вызван метод, который определен в AS вот тут
Код:
addCallback(methodName:String, instance:Object, method:Function)
как methodName.
В JS есть нужно обращаться, например, так:

Код:
var flashPlayer = document.getElementById("player");
flashPlayer.testJS();
....для примера ниже:

Код AS1/AS2:
import flash.external.*;
ExternalInterface.addCallback('testJS', null, testAS);
 
function testAS() 
{
    myText.text = 'Сработало!';
}
Дальше алерты не помогут, поскольку теперь проверяем уже флешку. Запишите в AS-функции method какое-нибудь простое действие, которое во флешке сразу совершится - переход в другой кадр или что-то такое (в моем примерчике это testAS).
Или полезным будет включите консоль ошибок в браузере (Обычно в меню "Инструменты" - "Дополнительно" (Опера, FF)). Если JS не сможет достучаться до methodName во флешке, то в консоли появится что-то вроде
"нет такого метода у объекта "плей4" или как он у вас н-ся..
__________________
Идите первым!


Последний раз редактировалось mooncar; 25.10.2010 в 22:25.
Старый 26.10.2010, 18:38
Prior вне форума Посмотреть профиль Отправить личное сообщение для Prior Найти все сообщения от Prior
  № 10  
Ответить с цитированием
Prior

Регистрация: Aug 2009
Сообщений: 74
мне выводит что movie.textswf is not a function

хотя в .js такой код
Код:
function textToswf() {
        var value = document.getElementById('playerid').value
        var movie = getMovie('play1');
       // alert(movie);
        movie.textswf();
        alert('1111');
}


function getMovie(movieName) {
        var M$ =  navigator.appName.indexOf("Microsoft")!=-1
        return (M$ ? window : document)[movieName]
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 08:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:11.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.