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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Работа над сайтом > DHTML/JS/CSS

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

Регистрация: Feb 2004
Сообщений: 6
По умолчанию Передача данных в другой фрейм через Js.......

Мне нужно сделать так чтобы Flash мувики находящиеся в разных фреймах могли обмениваться информацией.
По аналогии с одним из местных примеров получается это примерно так:

<SCRIPT LANGUAGE="JavaScript">

function Movie_DoFSCommand(comm, arg) {
if (comm=="LoadMenu"){
parent.left_frame.document.Movie.SetVariable("FileName", arg);
parent.left_frame.document.Movie.GotoFrame(1);
}
if (comm=="LoadPage"){
parent.right_frame.document.Movie.SetVariable("FileName", arg);
parent.right_frame.document.Movie.GotoFrame(1);
}
}
</SCRIPT>


<SCRIPT LANGUAGE=VBScript>
Sub Movie_FSCommand(ByVal command, ByVal args)
call Movie_DoFSCommand(command, args)
end sub
</SCRIPT>

......НО это работает в IE, а в опере работать не желает. Не запускаются ни та ни другая процедуры.

Я чесно говоря в замешательстве, даже не знаю где копать... Если кто-нибудь знает хотябы в какой документации или литературе можно найти ответ, буду очень признателен

Старый 23.02.2004, 13:09
Stary вне форума Посмотреть профиль Отправить личное сообщение для Stary Посетить домашнюю страницу Stary Найти все сообщения от Stary
  № 2  
Stary
 
Аватар для Stary

Регистрация: Jul 2001
Адрес: Харьков
Сообщений: 102
Отправить сообщение для Stary с помощью ICQ
Первым делом я бы попытался проверить, работает ли в Опере FSCommand в принципе. Последний раз, когда я пытался делать что-либо через FSCommand, в Опере это было невозможно. Все потому, что она не поддерживала до последнего времени такое свойство флеш-объекта, как swLiveConnect.

Так что мой совет - запускать скрипты через
getURL("javascript:void(myFunction('myparam'))")

Старый 23.02.2004, 13:12
Stary вне форума Посмотреть профиль Отправить личное сообщение для Stary Посетить домашнюю страницу Stary Найти все сообщения от Stary
  № 3  
Stary
 
Аватар для Stary

Регистрация: Jul 2001
Адрес: Харьков
Сообщений: 102
Отправить сообщение для Stary с помощью ICQ
Между прочим, а у тебя стоИт в теге <Embed ...>

swLiveConnect=true

????

Старый 25.02.2004, 05:26
esperanse вне форума Посмотреть профиль Отправить личное сообщение для esperanse Найти все сообщения от esperanse
  № 4  
esperanse

Регистрация: Feb 2004
Сообщений: 6
Спасибо Stary.
Буду пробовать через getURL.
Не знал что так можно. Не подскажешь какую-нибудь литературу по взаимодействию ActionScript и JS?


...А в <EMBED> у меня все прописанно.

Старый 25.02.2004, 16:57
Stary вне форума Посмотреть профиль Отправить личное сообщение для Stary Посетить домашнюю страницу Stary Найти все сообщения от Stary
  № 5  
Stary
 
Аватар для Stary

Регистрация: Jul 2001
Адрес: Харьков
Сообщений: 102
Отправить сообщение для Stary с помощью ICQ
Насчет литературы - любая более-менее объемная книжка по флешу (можно и по пятому) содержит хотя бы главу на эту тему.

Кроме FSCommand и getURL есть еще довольно спорный метод обращения флеша к яваскрипту, который называется "метод скрытого фрейма".
Состоит он вот в чем: в специальный фрейм через getURL загружается страница, в которой запускается скрипт (например - по onload). Скрипт может обращаться к любому фрейму на любом уровне фреймовой структуры, как и всякий яваскрипт. Преимущества этого метода в том, что он без проблем работает в любом абсолютно браузере с поддержкой фреймов и на любой платформе (в т. ч. - под любой MacOS). Недостатки очевидны - фреймы, высокая латентность.
В последних браузерах его можно использовать, не доводя ситуацию до абсурда (вместо обычных фреймов можно использовать iFrame).

Из яваскрипта же к флеш-объекту можно обращаться через специальные методы. Главный из них - MyFlashObj.setVariable("myvar","myvalue") . Перед этим нужно добраться до флеш-объекта. В ИЕ это просто FlashID . В NN - document.FlashID . В других я бы попробовал использовать document.getElementByID("FlashID"). Могу ошибаться, потому что давно этого не делал. Экспериментируй.

Фактически теперь ты знаешь все то же самое, что и я.


Последний раз редактировалось Stary; 25.02.2004 в 17:02.
Старый 26.02.2004, 13:54
esperanse вне форума Посмотреть профиль Отправить личное сообщение для esperanse Найти все сообщения от esperanse
  № 6  
esperanse

Регистрация: Feb 2004
Сообщений: 6
...все работает. Спасибо.

Что касается обращения из яваскрипта к флэш-объекту, то вроде везде работает - document.FlashID.

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

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

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


 


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


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