Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача данных по страницам, с использованием только JavaScript 
:(
    Опции темы
Sardar
Дата 25.2.2004, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Все решили порпробовать себя в разборке аргументов biggrin.gif. Вот мой вариант:
Код

<script language="Javascript" type="text/javascript">
<!--
function GetVars(sep) { //конструктор контейнера с аргументами
this.length=varsGetLength; //взять длинну
sep=(sep!=null)? sep: '&';
var srch=window.location.search; //ИЕ даст нам уже раскодированную строку, Опера не изменную
srch=decodeURLString(srch);
if(srch.length<1) return;
var i=0,b=1,d=0;
while(i<srch.length) {
 i=srch.indexOf(sep,i+1);
 i=(i<0)? srch.length: i;
 var val=srch.substring(b,i);
 var sepr=val.indexOf('='); //за split в JS надо... :(
 if(sepr>0) this[val.substring(0,sepr)]=val.substr(sepr+1);
 else this[val]=true;
 b=i+1;
 d++;
}
}
function varsGetLength() { //результат надо кешировать
if(typeof(this.document)!='undefined') return 0;
var ct=0;
for(i in this) if(typeof(this[i])!='function') ct++;
return ct;
}
//а подобной функции в JS нет :(, decodeURI это не совсем то что нужно
//можно еще юзать escape() вместо самоделок...
function decodeURLString(str) {
for(var i=str.indexOf('%'); i>=0; i=str.indexOf('%',i+1)) {
 var num=parseInt(str.substr(i+1,2),16);
 if(!isNaN(num)) {
  var part1=(i>0)? str.substring(0,i): "";
  var part2=(i<str.length-3)? str.substr(i+3): "";
  str=(part1+String.fromCharCode(num)+part2);
 }
}
return str;
}
//Test
getVars=new GetVars();
alert(getVars.length());
for(i in getVars) {
if(typeof(getVars[i])!='function') alert("getVars."+i+"="+getVars[i]+"\n");
}
//-->
</script>

Проверенно в IE, Opera(7.23), Mozilla(1.6).


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Alx
Дата 28.2.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Royan

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


--------------------
PM MAIL WWW ICQ   Вверх
Royan
Дата 1.3.2004, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Dreamer
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 14.9.2002
Где: Лондон

Репутация: 1
Всего: 15



Дело твое, но не забывай, что это

а) Не секъюрно (читай не надежно)
б) Не стабильно - JS очень часто глючит в IE
и еще кое-чего о чем писать лень
в) Все выше перечисленное лично мое мнение ;)


--------------------
Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь
PM MAIL MSN   Вверх
Alx
Дата 1.3.2004, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Royan
так я ж не отрицаю! но за неимением лучшего...

воть скоро я выучу PHP - будет другое дело! smile.gif


--------------------
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.4131 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.