Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Все данные из GET или FlashVars. Как получить? (http://www.flasher.ru/forum/showthread.php?t=73064)

aru 12.12.2005 10:43

Все данные из GET или FlashVars. Как получить?
 
Есть задача... Получить все данные из GET или FlashVars не зная всех названий. Пока нашёлся только один метод _root._url и парсить url на переменные... Но может что-то лучше есть?

Antares 12.12.2005 11:51

Сделать переменной уникальный префикс и забить все переменные с этим префиксом в массив. Вуаля.

aru 12.12.2005 12:21

Цитата:

Сообщение от Antares
Сделать переменной уникальный префикс и забить все переменные с этим префиксом в массив. Вуаля.

Ну во первых нифига не понятно... попробую объяснить еще раз что надо...

допустим у меня флешка вызывается неизвестно с каким QueryString, теоретически я словил её в _root._url, взял всё что после ? и разбив на парый получил значиние типа ключ=значение.
то есть у меня вызывается флеш вот с таким хвостом:
test.swf?var1=value1&var2=value2
а может и вот с таким:
test.swf?var3=value3&var4=value4
и мне надо скажем массив
GetVars заиметь вида, для первого случая
GetVars["var1"] = value1;
GetVars["var2"] = value2;
для второго случая
GetVars["var3"] = value3;
GetVars["var4"] = value4;

Как тут каким-то префиксов разобраться я не понимаю. Объясните поподробнее.


Есть еще конечно вариант:
test.swf?GetVars[var3]=value3&GetVars[var4]=value4
но что по мне так это еще хуже чем писать парсер url.

Antares 12.12.2005 13:16

Цитата:

Сообщение от aru
Ну во первых нифига не понятно...

Во-вторых, чтобы было понятно, надо подумать.

Код:

var GET_VARS = new Array();
var prefix = "get_v_";

for(var key in _root)
{
  if(key.lastIndexOf(prefix) != -1) GET_VARS[key] = _root[key];
}


aru 12.12.2005 13:40

Цитата:

Сообщение от Antares
Во-вторых, чтобы было понятно, надо подумать.

Код:

var GET_VARS = new Array();
var prefix = "get_v_";

for(var key in _root)
{
  if(key.lastIndexOf(prefix) != -1) GET_VARS[key] = _root[key];
}


Да я уже понял, что очередной синтетический способ не лучше парсанью URL, даже хуже ибо если случайно попадётся переменная с таким же префиксом, то она будет лишняя в нашем массиве... Вобщем нету не синтетического способа.


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

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