|
Сохранение в куках переменной
Доброго времени суток всем!
Я использую скрипт который генерирует рандомный набор из 6 печатных символов (например - 86yz4b): function str_rand() { var result = ''; var words = '1234567890qwertyuioplkjhgfdsazxcvbnm'; var max_position = words.length - 1; for( i = 0; i < 6; ++i ) { position = Math.floor ( Math.random() * max_position ); result = result + words.substring(position, position + 1); } return result; } В дальнейшем мне необходимо использовать этот набор символов (все те же - 86yz4b) в качестве переменной для некоторых функций, даже после обновления страницы пользователем. Для этого, мне необходимо записать в куки эту переменную (всё ту же - 86yz4b). Я некогда раньше не работал с куками, сегодня весь день провел в активном гуглеже по данной теме, нашел массу информации по работе с куками, но нечего даже издали приближенного к своей потребности не нашел. Пожалуйста поделитесь своим опытом и знаниями в данной сфере!) |
откройте для себя мир localStorage
|
Большое спасибо за совет. Но я очень прошу помочь мне именно с моим вопросом, на счет записи в куки. Почему? Потому что мне необходимо использовать именно куки + способ записи информации что в куки что в локальные хранилища очень похож, а я как раз с ним не могу разобраться. Заранее спасибо
|
Смотрите учебник по cookie
Что непонятно спрашивайте |
вариант "Непонятно все", подойдет?)
Я шучу конечно же. Дело в том что я вчера весь день ковырял различное множество статей и ту что вы мне скинули в том числе. В результате я пришел к выводу что работа с куками на чистом js очень усложнена, что неоправданно в моем случае по скольку мне не нужно то многообразие параметров которое прилагает чистый js. По этому я решил пойти по упрощенному пути и воспользоваться библиотекой jquery.cookie.js. В результате у меня получилась конструкция: $(function() { <!-- Скрипт который создает имя переменной (например - 86yz4b) --> function str_rand() { var result = ''; var words = '1234567890qwertyuioplkjhgfdsazxcvbnm'; var max_position = words.length - 1; for( i = 0; i < 6; ++i ) { position = Math.floor ( Math.random() * max_position ); result = result + words.substring(position, position + 1); } return result; } <!-- EXIT Скрипт который создает имя переменной (например - 86yz4b) --> <!-- Создание куки --> $.cookie('name', value, { expires: 2, path: '/' }); if (!$.cookie('namel')) { // если куки не было, то объявить "var" и задать ему значение которое с генерировал выше переведенный скрипт (например - 86yz4b) } esle { // если кука есть, то записать в её "value" все тоже значение которое с генерировал выше переведенный скрипт (например - 86yz4b), что бы при повторных сессиях (пока существует кука) можно было использовать именно его (86yz4b), то есть то значение которое было получено при первом заходе человека на страницу } <!-- EXIT Создание куки --> }); Проверки и дальнейший алгоритм я понимаю как осуществить, а вот что касается того как мне записать значение (например - 86yz4b) в "value" самой куки, я разобраться не могу. |
smart-create,
весь код ... function str_rand() {}; var result = localStorage.getItem('result') || str_rand(); localStorage.setItem('result', result ); |
А значение в localStorage не будет перезаписываться с каждым выполнением функции str_rand() ?
Я имею в виду что мне нужно что бы function str_rand() {} один раз с генерировала рандом, он записался в localStorage и в течении некоторого времени брался от туда, в независимости от того что function str_rand() {} и дальше будет продолжать генерировать эти рандомы |
smart-create,
а проверить самому? значение result в 4 строке, после перезагрузки |
рони,
Дело в том что я изначально пытался решить эту задачу самостоятельно, в итоге уже второй день мучаюсь и не могу разобраться. Я уже сталкивался, вчера с localStorage, но решил что этот вариант для меня не подходит, потому как я не нашел способ избежать перезаписи значения в нем при следующем выполнении function str_rand() {}. По этому и интересуюсь, у самого уже каша в голове. Могли бы вы еще уточнить что имеете в виду: "значение result в 4 строке, после перезагрузки", - я к сожалению не совсем понял |
smart-create,
function str_rand() {}; var result = localStorage.getItem('result') || str_rand(); localStorage.setItem('result', result ); alert(result ) |
Часовой пояс GMT +3, время: 05:48. |
|