С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 07/03/11 в 18:12 |
как можно быстро и главное просто получить из одного cookie в javascript 3 переменых которые в cookie записаны в виде "val1|val2|val3"
буду благодарен в виде 3+
|
|
|
|
С нами с 13.02.11
Сообщения: 2
Рейтинг: 3
|
Добавлено: 07/03/11 в 18:50 |
Код: |
var cookie_val = "val1|val2|val3"; // то есть в cookie_val содержится значение твоей куки
...
var cookie_values = cookie_val.split('|');
// теперь cookie_values - массив с val1, val2 и т.д.
|
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 07/03/11 в 18:55 |
Для начала надо определить функцию
Код: | 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.
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 07/03/11 в 20:52 |
ага отБлагодарил )))
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 07/03/11 в 20:55 |
а еще вопрос в догонку, VAR перед переменой зачем ставить?
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 07/03/11 в 21:00 |
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 07/03/11 в 21:13 |
получается если без ВАР то переменная видна везде?
и еще дополнение к начальному вопросу. можно сделать на подобии ПХП
list(v1,v2,v3) = getCookie( 'exampleCookieName' ).split( '|' );
такая не работает конструкция
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 08/03/11 в 00:40 |
без 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 как к глобальным переменным.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 08/03/11 в 03:52 |
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); |
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 08/03/11 в 22:07 |
благодарю, все равно такой сложный язык, хрен поймешь его.
|
|
|
|
С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096
|
Добавлено: 09/03/11 в 20:17 |
зато потом когда разберешься - очень удобно, я хотел бы чтоб некоторые фишки языка были в пхп.
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 10/03/11 в 16:32 |
да книг нормальных нет, а по инету изучать - нереально, постояно что то отвлекает.
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 10/03/11 в 19:58 |
|
|
|
|
С нами с 03.07.05
Сообщения: 39
Рейтинг: 24
|
Добавлено: 10/03/11 в 21:09 |
Благодарю конечно, но на английском это не реально)))
|
|
|
|