Просмотр полной версии : как получить переменную в функцию?
У мну такая трабла
После загрузки данных запускается функция мне нужно получить переменную из основной сцены _root.id ничего не даёт
Есть ли, во флаш функция типа global как в PHP?
чё то не срабатывает
пробовал id=_global.id может не правильно?
_global'ов может быть несколько если загружались разные клипы с разных адресов. Мб поэтому?
ну вот упрощённая версия всё находится в одном кадре в основной сцене, никаких мувмков
id="xxx";
loadVariables("http://test1.ru/prov.php",this)
this.onData=function(){
id=_global.id
getURL("javascript:alert('"+id+"')")
}
или вместо getURL("javascript:alert('"+id+"')") поставить динамик текст с вар: id
Значение не передаётся в функцию.
_global.id="xxx";
loadVariables("http://test1.ru/prov.php",this)
this.onData=function(){
var id =_global.id;
getURL("javascript:alert('"+id+"')")
}
зачем так сложно?
так не получится?:
id="xxx";
mc.onData=function(){
getURL("javascript:alert('"+id+"')");
}
сам не пробовал?
нет не передаётся переменная id в функцию
this.onData к чему относится?
Как проверяется загрузка с помощью loadVariables?
сам не пробовал?
нет не передаётся переменная id в функцию
меня у вас this смущает :) и loadVariables
id="xxx";
It=setInterval(function(){clearInterval(It);
getURL("javascript:alert('"+id+"')");
},1000)
так работает
Раскрою суть проблемки:
Я делаю динамическое обновление страницы через флэш
в флаш подаётся команда на загрузку блока данных. После того как они получены их нужно вставить в страницу в указаный id - таблицы, див, абзаца и тд. Но никак не могу получить данный id в функцию когда данные загрузились.
а ты не говорил что у тебя ид еще и от загрузки зависит :)
Пользуйте LoadVars.
loadVariables и LoadVars идентичные команды
я сначала делал с LoadVars, но потом переделал с loadVariables оказалось проще
Я извиняюсь я вообще ничего про флаш не знаю, так по мере необходимости делаю что приспичит и пытаю тех кто в этом что-то понимает.
Ещё с моей стороны будет одна просьба не могли бы вы разобратся почему у меня глючит полание на сайте. Это типо чата. Через какоето время у меня виснет комп. У приятеля всё нормально, а меня глючит бывает шрифт меняется на жирный.
loadVariables и LoadVars идентичные командыLoadVars более удобен.
я сначала делал с LoadVars, но потом переделал с loadVariables оказалось прощеС точностью до наоборот.
Я конечно с радостью бы дал исходник. Это слишком сложная штука получится. Мне нужно будет высылать не только fla, но и сам движок портала с которым всё это взаимодействует.
Но движок я Вам выслать не могу.
id="xxx";
It=setInterval(function(){clearInterval(It);
getURL("javascript:alert('"+id+"')");
},1000)
Раскажите какой смысл вы вложили в этот конкретный код? Какая-то подозрительная конструкция...
LoadVars более удобен.
С точностью до наоборот.
Да какая разница, мне нужно получить переменную из основной сцены в
this.onData=function(){ здесь }
Ну же вы же знаете ...
Вот в том то и дело, что событие this.onData получается у вас, судя по всему, само по себе, а событие успешной загрузки внешних данных само по себе. Вам нужно их синхронизировать так, чтобы в момент наступления this.onData внешние данные уже были успешно загружены.
ps. На всякий случай скажу, что у loadVariables нет событий onData и onLoad.
Раскажите какой смысл вы вложили в этот конкретный код? Какая-то подозрительная конструкция...
Просто проверял можно ли получить переменную в функцию
В данном коде всё работает.
Не работает у меня после загрузки данных получить перевенную из основной сцены в this.onData=function(){
id - нет
_root.id - нет
_global.id - нет
пробовал даже this.id
}
Тебе уже сказали — пользуй LoadVars. Если ты не хочешь его использовать, то мы тебе уже помочь ничем не можем.
Этот onData ещё хрен знает где вызовется, там с областями видимости и контекстом выполнения полный бардак.
неужели кроме this нельзя ничего другого подставить?
а то я уже говорил что оно меня смущает
Вот в том то и дело, что событие this.onData получается у вас, судя по всему, само по себе, а событие успешной загрузки внешних данных само по себе. Вам нужно их синхронизировать так, чтобы в момент наступления this.onData внешние данные уже были успешно загружены.
ps. На всякий случай скажу, что у loadVariables нет событий onData и onLoad.
Хорошо сейчас переделаю и проверю, хорошо бы получилось.
Значит this.onData все же отосится к загрузчику. И каким классом вы производите загрузку?
Про тот код. Мне показалось странным, что вроде вы запускаете интервал, тут же его(?) останавливаете...
2pkfun нет через секунду
2DECIDE послушайтесь нас и пределайте на LoadVars
2pkfun нет через секунду
Ясно.:)
Всё переделал аналогичная история. Не могу получить переменную id и всё. С LoadVars получается ещё верёвочней...
vrs=new LoadVars();
vrs.onLoad=function(){
id - нет
_root.id - нет
_global.id - нет
}
vrs.load("http:/test1.ru/prov.php");
мне не хочется передавать id в файл, а потом получть её как vrs.id Я хочу просто вытащить её из основных переменных на сцене.
в принципе если в простой функции переменная доступна, то можно из загрузочной запустить простую и всё.
vrs=new LoadVars();
vrs.onLoad=function(){rfun()}
rfun=function(){
getURL("javascript:alert('"+id+"')");
}
vrs.load("http:/test1.ru/prov.php");
Но как же получить переменную не в простую функцию???
может в пхп дело?
vrs.onLoad=function(s){
if(s){
trace(unescape(vrs));
}else{
trace("not loaded");
}
}
что выдает?
может в пхп дело?
Нет Я раньше так и делал передавал сначала id в файл, а потом получал обратно. Сейчас я убрал передачу в php и из него всё что связано с id
что выдает?
tx=+%3Cp%3E%B7+%3Ca ....
tx это данные, которые вставляются в страницу закодированы urlencode PHP командой для передачи без ошибок, если в тексте будет например знак & то данные придут не все..
tx=+%3Cp%3E%B7+%3Ca ....
да это выдаётся в браузере когда набираю команду по которой идёт запрос из флаш.
ну и как оно id нужное загрузит если там такая билиберда?
ну и как оно id нужное загрузит если там такая билиберда?
Да не передаю Я и не загружаю id. Я хочу получить его из переменной которая находится на сцене. А выше Я просто ответил на твой вопрос, что передаёт PHP.
iNils спасибо Вам конечно за то что решили наверно мою проблему, но я не такой продвинутый флэшер и у меня нет такого редактора, которым пользуетесь Вы, у меня просто Flash MX 6-я версия и она не поддерживает тот файл, который Вы вложили.
А там ничего нет кроме:
id = 456;
var lv = new LoadVars ();
lv.onLoad = function () {
getURL ("javascript:alert('" + id + "')");
};
lv.load ("test.txt");
iNils, может this.id?
А, или я что-то не понимаю уже ничего :D
iNils, может this.id?Тогда будет так
id = 456;
var lv = new LoadVars ();
lv.onLoad = function () {
trace (this.id) // undefined
trace (id) // 456
//getURL ("javascript:alert('" + id + "')");
};
lv.load ("test.txt");
РАБОТАЕТ!!!
Спасибо большое! Попробую переделать свой код.
iNils, а, я понял. Я думал, что id надо получить из txt.
iNils, а, я понял. Я думал, что id надо получить из txt.Если бы все всё понимали, то обсуждение не затянулось бы на 5 страниц :D
Странно Я так долго мучился
вот проверил так:
id=777;
this.onData=function(){
getURL ("javascript:alert('" + id + "')");
}
loadVariables("test.txt",this)
тоже работает
сейчас буду медленно модернизировать данный код под загрузку и вставку данных.
Спасибо всем, за мой дурацкий вопрос.
И я извиняюсь, что мучил Вас так долго и за то, что не умею нормально объяснить толком, что именно мне нужно.
Возможно Вам понравится мой сервис и Вы будите его где нибудь использовать.Позднее сделаю пакет исходников и всего необходимого.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.