Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
В javascript получить переменую из cookie
Новая тема
Ответить
цитата
07/03/11 в 18:12
Foxs
как можно быстро и главное просто получить из одного cookie в javascript 3 переменых которые в cookie записаны в виде "val1|val2|val3"
буду благодарен в виде 3+
цитата
07/03/11 в 18:50
PsiShock
Код:
var cookie_val = "val1|val2|val3"; // то есть в cookie_val содержится значение твоей куки
...
var cookie_values = cookie_val.split('|');
// теперь cookie_values - массив с val1, val2 и т.д.
цитата
07/03/11 в 18:55
Yacc
Для начала надо определить функцию
Код:
function getCookie( name ) {
var n = name + "=";
var l = document.cookie.length;
var i = 0;
while( i < l ) {
var j = i + n.length;
if( document.cookie.substring( i, j ) == n ) {
var k = document.cookie.indexOf( ";", j );
if( k == -1 ) { k = l; }
return unescape( document.cookie.substring( j, k ) );
}
i = document.cookie.indexOf( " ", i ) + 1;
if( i == 0 ) { break; }
}
return null;
}
Теперь просто:
Код:
var vars = getCookie( 'exampleCookieName' ).split( '|' );
и твои переменные в массиве vars.
цитата
07/03/11 в 20:52
Foxs
ага отБлагодарил )))
цитата
07/03/11 в 20:55
Foxs
а еще вопрос в догонку, VAR перед переменой зачем ставить?
цитата
07/03/11 в 21:00
Yacc
http://javascript.ru/var
цитата
07/03/11 в 21:13
Foxs
получается если без ВАР то переменная видна везде?
и еще дополнение к начальному вопросу. можно сделать на подобии ПХП
list(v1,v2,v3) = getCookie( 'exampleCookieName' ).split( '|' );
такая не работает конструкция
цитата
08/03/11 в 00:40
webboxxx
без var переменная становится свойством объекта window. т.е. myVar = 1 будет эквивалентно window.myVar = 1, ну и доступна будет везде.
аналога list в яваскрипте помоему нет. но можно сделать что то типа:
Код:
var data = 'value1|value2|value3'.split('|');
['var1','var2','var3'].forEach(function(i){window[i]=data.shift()});
после этого можно обращаться к var1, var2 и var3 как к глобальным переменным.
цитата
08/03/11 в 03:52
Yacc
Foxs писал:
можно сделать на подобии ПХП
list(v1,v2,v3) = getCookie( 'exampleCookieName' ).split( '|' );
Можно, если сделать переменные свойствами объекта:
Код:
function list( o, a ) {
for( var i in o ) o[i] = a.shift();
}
var vars = { v1:null, v2:null, v3:null };
list( vars, getCookie( 'exampleCookieName' ).split( '|' ) );
alert(vars.v1);
alert(vars.v2);
alert(vars.v3);
цитата
08/03/11 в 22:07
Foxs
благодарю, все равно такой сложный язык, хрен поймешь его.
цитата
09/03/11 в 20:17
webboxxx
зато потом когда разберешься - очень удобно, я хотел бы чтоб некоторые фишки языка были в пхп.
цитата
10/03/11 в 16:32
Foxs
да книг нормальных нет, а по инету изучать - нереально, постояно что то отвлекает.
цитата
10/03/11 в 19:58
Yacc
Книг полно. Вот две:
http://www.ecma-international.org/publications/standards/Ecma-262.htm
http://rutracker.org/forum/viewtopic.php?t=3076950
цитата
10/03/11 в 21:09
Foxs
Благодарю конечно, но на английском это не реально)))
Новая тема
Ответить
Эта страница в полной версии