Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Flash-меню понимающее в каком оно разделе (http://www.flasher.ru/forum/showthread.php?t=153084)

greep 28.03.2011 16:30

Flash-меню понимающее в каком оно разделе
 
Здравствуйте, помогите пожалуйста реализовать или понять как это можно сделать. Есть flash-менюшка. Она на каждом разделе сайта. Нужно сделать так, чтобы при переходе на др. раздел в меню подсвечивался нужный раздел сразу. Честно говоря понятия не имею как это сделать. Буду очень благодарен за любой полезный ответ по теме!

bav 28.03.2011 16:37

Возможно, стоит проверять loaderInfo.url, чтобы узнать, где мы находимся?

greep 28.03.2011 16:39

А если на АС2?

bav 28.03.2011 16:42

Возможно, _root._url;?

greep 28.03.2011 16:44

Переменная содержит путь к самой флешке, а как получить урл страницы на которой он находится? Тогда я мог бы их сравнивать по списку...

dark256 28.03.2011 16:54

страницы - разные. пихайте во флэшварс соотв-й индекс номер признак страницы.

greep 28.03.2011 16:56

2 dark256: Я совсем чайник во флеше... Можете подробнее объяснить как это реализовать? Можете посоветовать самый простой и действенный метод, если это конечно вообще возможно реализовать на АС2?

Добавлено через 2 часа 8 минут
Неужели никто не сможет помочь?...

Denisator 28.03.2011 19:35

Цитата:

Сообщение от greep (Сообщение 984408)
2 dark256: Я совсем чайник во флеше... Можете подробнее объяснить как это реализовать? Можете посоветовать самый простой и действенный метод, если это конечно вообще возможно реализовать на АС2?

Добавлено через 2 часа 8 минут
Неужели никто не сможет помочь?...

Фишка в том что ты можешь передавать переменные флэшке прям через хтмл-код в который эта флэшка вставлена.
Собственно через эту переменную ты можешь сообщать флэшу на какой странице находится пользователь.

вот посмотри здесь я сделал для тебя простенький исходник: http://denisator.ru/trash/primer.zip

greep 28.03.2011 20:29

Denisator: Странно это все очень... В исходнике нет никаких скриптов, а в браузере вылетает окошко с надписью "This page requiers AS_Runactivecontent.js"... И тишина... И мертвые с косами...

Denisator 28.03.2011 20:31

Хм.. Убери их хтмлки яваскрипт (или ещё раз качни исходник), похоже из-за него ошибка вылезает. Это был детектор браузера.

Там в хтмлке в двух местах прописано you_variable=PRIVET а во флэшке текстовому полю присваивается значение переменной you_variable и в итоге в чёрной рамке текстового поля во флэше отображается "PRIVET"

greep 28.03.2011 20:34

Видимо не весь яваскрипт убрал. Все работает. Спасибо, особенно за пример!

Добавлено через 38 минут
Разобрался. Отличная штука! А как передать несколько переменных?

Denisator 28.03.2011 22:46

Вот так вот:
"you_variable=PRIVET&you_variable1=PRIVET1&you_variable2=PRIVET2"

Только обязательно пропиши переменные в двух местах как в примере, в embed и в param, а то в эксплорере не будет работать.

greep 28.03.2011 23:18

Круто! Спасибо!

fish_r 29.03.2011 08:25

Может быть вариант проще:
- если вам легче ориентироваться по адресам страниц то такая конструкция:
Код AS1/AS2:

  var myLocation=String(flash.external.ExternalInterface.call("function(){return location.href}"));

- если хотите передавать/получать параметры, то:

Код AS1/AS2:

  import flash.external.* ;
 
//someparams - объект, возвращаемое значение - объект
  var answerFunc=ExternalInterface.call("MyFunction", someparams));

В последнем случае в javascript должна быть определена функция MyFunction, конечно.
И ещё в дом. условиях, не на сервере, для того, чтобы работало надо в тегах object и embed указать
значение параметра allowScriptAccess равным "always", в условиях сервера надо оставить "someDomain" (это по умолч.).


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

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