Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Flash меню и переменные
 
 автор: Che   (24.04.2007 в 09:36)   письмо автору
 
 

Добрый день! Проблема такая. Надо на сайте сделать меню на flash. Все url-ы для меню прописана в файле links.txt такого, примерно содержания.

link11=http://www.11.ru
&link12=http://www.12.ru
&link13=http://www.13.ru
&link14=http://www.14.ru
&link21=http://www.21.ru
&link22=http://www.22.ru

Но вот проблемка, флэшка не находит файл с урл-ами.. т.е. как я понял она ищет этот файл в том месте, где открывается, а т.к. на сайте стоит ModRewrite и все каталоги виртуальные, файла она там естественно не находит.. Например когда клады файл в корневой каталог, то со страницы http://www.site.ru/ все отлично работает, но стоит зайти на http://www.site.ru/about/, как все url меняются undefined флэшка вставлена т.о.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="570" height="205" id="menu04gradT" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="<? echo $path['swf'?>/menu-mod06.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#99cc00" /><embed src="<? echo $path['swf'?>/menu-mod06.swf" quality="high" wmode="transparent" bgcolor="#99cc00" width="570" height="205" name="menu04gradT" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
<script type="text/javascript" src="<? echo $path['swf'?>/g.js"></script>

Где g.js

theObjects = document.getElementsByTagName("object");
for (var i = 0; i < theObjects.length; i++) {
theObjects[i].outerHTML = theObjects[i].outerHTML;
}

   
 
 автор: AlexSol   (24.04.2007 в 10:16)   письмо автору
 
   для: Che   (24.04.2007 в 09:36)
 

а что мешает вам оставить txt в корне?


LoadVars.load();

Параметры
url Строка; URL, с которого необходимо 
загрузить данные. Если SWF файл, 
производящий загрузку, запущен вб раузере, 
url должен указывать на тот же домен, что и 
SWF file; смотри раздел Описание для более 
подробной информации.

var my_lv:LoadVars = new LoadVars();
my_lv.onLoad = function(success:Boolean) {
  if (success) {
    trace(this.toString());
  } else {
    trace("Ошибка в загрузке / разборе результирующей строки.");
  }
};
my_lv.load("http://www.flash-mx.com/mm/params.txt");



http://livedocs.adobe.com/flash/mx2004/main_7_2/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Flash_MX_2004&file=00001414.html

   
 
 автор: Che   (24.04.2007 в 10:43)   письмо автору
 
   для: AlexSol   (24.04.2007 в 10:16)
 

Прописал функцию в head, прописал в ней путь к txt файлу.. не работает.. может я как-то не так все сделал? Я так понимаю, что в самом swf файле прописан относительный путь к файлу links.txt А тут мы добавляем еще переменные, будет ли их воспринимать флэшка?
Просто я абсолютно не разбираюсь во флэше.. поэтому мне тяжело все это победить..

   
 
 автор: AlexSol   (24.04.2007 в 10:46)   письмо автору
 
   для: Che   (24.04.2007 в 10:43)
 

если не разбираетесь то не надо было праться. эта функция прописывается во flash , поскольку именно flash инициирует загрузку переменных.

   
 
 автор: Che   (24.04.2007 в 10:52)   письмо автору
 
   для: AlexSol   (24.04.2007 в 10:46)
 

Флэшку делал не я, моя задача всавить эту самую флэшку в страницы и подключить к cms..
Т.е. надо править флэшку?

   
 
 автор: AlexSol   (24.04.2007 в 10:53)   письмо автору
 
   для: Che   (24.04.2007 в 10:52)
 

по-моему это первое умозаключение - если flash не видет переменных по относительному пути, значит надо указывать абсолютный.

   
 
 автор: Che   (24.04.2007 в 10:57)   письмо автору
 
   для: AlexSol   (24.04.2007 в 10:53)
 

Спасибо за консультацию. А можно ли через сам html документ передать флэшке переменные?

   
 
 автор: AlexSol   (24.04.2007 в 12:03)   письмо автору
 
   для: Che   (24.04.2007 в 10:57)
 

да. http://www.vmstudio.com/materials.php?flashvars

   
 
 автор: Che   (28.04.2007 в 11:37)   письмо автору
 
   для: AlexSol   (24.04.2007 в 12:03)
 

Сделал так, все отлично работает..
Но не работает в MyIE2 и Maxthon..
Пробовал через JS передавать переменные.. не помогло..
Вместо ссылок пишет null..
Сайт скоро сдавать, а у заказчика оказался MyIE2 :) Помогите плиз..

   
 
 автор: AlexSol   (28.04.2007 в 11:54)   письмо автору
 
   для: Che   (28.04.2007 в 11:37)
 

каким способом переменные получаете?

   
 
 автор: Che   (28.04.2007 в 12:06)   письмо автору
 
   для: AlexSol   (28.04.2007 в 11:54)
 

в самой флэшке? или на странице?
На странице из базы беру..
Во флэшке если через JS, то

_root.now_active = String(ExternalInterface.call("topMenu"));

_root.link1=String(ExternalInterface.call("topMenu1"));
_root.link2=String(ExternalInterface.call("topMenu2"));
_root.link3=String(ExternalInterface.call("topMenu3"));
_root.link4=String(ExternalInterface.call("topMenu4"));

и т.д.
Если через FlashVars, то это все комментирую..

   
 
 автор: Che   (28.04.2007 в 12:07)   письмо автору
 
   для: AlexSol   (28.04.2007 в 11:54)
 

Вот еще перед предыдушим кодом

import flash.external.*;
import mx.utils.Delegate;

   
 
 автор: AlexSol   (28.04.2007 в 12:18)   письмо автору
 
   для: Che   (28.04.2007 в 12:07)
 

вы выбрали самый кривой способ :(

что мешает вам загрузить переменные с определенного адреса через LoadVars.load()?

   
 
 автор: Che   (28.04.2007 в 12:24)   письмо автору
 
   для: AlexSol   (28.04.2007 в 12:18)
 

Определенного адреса не будет.. я ведь не знаю какое доменное имя себе сделает клиент..
Я ведь правильно понимаю, надо прописать полную ссылку на файл с переменными..

   
 
 автор: AlexSol   (28.04.2007 в 12:38)   письмо автору
 
   для: Che   (28.04.2007 в 12:24)
 

лучше полную. алрес всегда уточнить можно или держать переменные на своем хосте.

   
 
 автор: Che   (28.04.2007 в 12:56)   письмо автору
 
   для: AlexSol   (28.04.2007 в 12:38)
 

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

   
 
 автор: AlexSol   (28.04.2007 в 12:59)   письмо автору
 
   для: Che   (28.04.2007 в 12:56)
 

не знаю, такой зачачи не было а что flashvars мешает использовать? чтобы при загрузке ролика переменные сразу были в нем?

   
 
 автор: Che   (28.04.2007 в 13:49)   письмо автору
 
   для: AlexSol   (28.04.2007 в 12:59)
 

Это все к cms подцеплено, где имена каталогов, соответственно и ссылки можно менять.. поэтому если их клиент в cms поменяет, меню работать не будет..

   
 
 автор: AlexSol   (28.04.2007 в 14:02)   письмо автору
 
   для: Che   (28.04.2007 в 13:49)
 

если вы не можете заменить

function topMenu1() { return "http://akona.ru/modul-e/about/"; }
на


<param flashvars="menu1_p1=http://akona.ru/modul-e/about/">


то больше помочь нечем.

   
 
 автор: Che   (28.04.2007 в 14:14)   письмо автору
 
   для: AlexSol   (28.04.2007 в 14:02)
 

Я менял.. но в MyIE2 всеравно не работает..

   
 
 автор: AlexSol   (28.04.2007 в 14:19)   письмо автору
 
   для: Che   (28.04.2007 в 14:14)
 

что такое myIE2 без понятия. в ie и ему подобных передается через param, в остальных -embed

<param flashvars="menu1_p1=http://akona.ru/modul-e/about/">
во влешке в первом кадре

var menu1_p1=this.menu1_p1

   
 
 автор: Che   (28.04.2007 в 14:27)   письмо автору
 
   для: AlexSol   (28.04.2007 в 14:19)
 

Я это все понимаю и в IE и в Opera и везде кроме MyIE2 работает.. вот сайт этого браузера - http://www.maxthon.com/ он на движке IE.. Я не понимаю почему.. я скачивал разные версии и т.д. но он не видит переменные...
Прекрасно понимаю что это бред, так маяться из-за браузера которым почти никто не пользуется.. но мне очень повезло и у заказчика стоит именно он! Начальство от меня требует, чтобы в этом браузере все работало, я уже все перепробовал...

   
 
 автор: AlexSol   (28.04.2007 в 14:31)   письмо автору
 
   для: Che   (28.04.2007 в 14:27)
 

я использую maxthon. с flashvars никогда проблем не было.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования