Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.11.2016, 23:16
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

Сохранение в куках переменной
Доброго времени суток всем!

Я использую скрипт который генерирует рандомный набор из 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).

Я некогда раньше не работал с куками, сегодня весь день провел в активном гуглеже по данной теме, нашел массу информации по работе с куками, но нечего даже издали приближенного к своей потребности не нашел. Пожалуйста поделитесь своим опытом и знаниями в данной сфере!)

Последний раз редактировалось smart-create, 03.11.2016 в 23:18.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2016, 00:58
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

откройте для себя мир localStorage
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2016, 10:41
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

Большое спасибо за совет. Но я очень прошу помочь мне именно с моим вопросом, на счет записи в куки. Почему? Потому что мне необходимо использовать именно куки + способ записи информации что в куки что в локальные хранилища очень похож, а я как раз с ним не могу разобраться. Заранее спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2016, 12:11
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Смотрите учебник по cookie
Что непонятно спрашивайте
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2016, 13:31
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

вариант "Непонятно все", подойдет?)
Я шучу конечно же. Дело в том что я вчера весь день ковырял различное множество статей и ту что вы мне скинули в том числе. В результате я пришел к выводу что работа с куками на чистом 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" самой куки, я разобраться не могу.
Ответить с цитированием
  #6 (permalink)  
Старый 04.11.2016, 13:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

smart-create,
весь код ...

function str_rand() {};
var result = localStorage.getItem('result') || str_rand();
localStorage.setItem('result', result );

Последний раз редактировалось рони, 04.11.2016 в 15:07.
Ответить с цитированием
  #7 (permalink)  
Старый 04.11.2016, 14:02
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

А значение в localStorage не будет перезаписываться с каждым выполнением функции str_rand() ?

Я имею в виду что мне нужно что бы function str_rand() {} один раз с генерировала рандом, он записался в localStorage и в течении некоторого времени брался от туда, в независимости от того что function str_rand() {} и дальше будет продолжать генерировать эти рандомы
Ответить с цитированием
  #8 (permalink)  
Старый 04.11.2016, 14:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

smart-create,
а проверить самому? значение result в 4 строке, после перезагрузки
Ответить с цитированием
  #9 (permalink)  
Старый 04.11.2016, 14:31
Профессор
Отправить личное сообщение для smart-create Посмотреть профиль Найти все сообщения от smart-create
 
Регистрация: 25.10.2016
Сообщений: 157

рони,

Дело в том что я изначально пытался решить эту задачу самостоятельно, в итоге уже второй день мучаюсь и не могу разобраться. Я уже сталкивался, вчера с localStorage, но решил что этот вариант для меня не подходит, потому как я не нашел способ избежать перезаписи значения в нем при следующем выполнении function str_rand() {}. По этому и интересуюсь, у самого уже каша в голове.

Могли бы вы еще уточнить что имеете в виду: "значение result в 4 строке, после перезагрузки", - я к сожалению не совсем понял
Ответить с цитированием
  #10 (permalink)  
Старый 04.11.2016, 14:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,118

smart-create,

function str_rand() {}; 


var result = localStorage.getItem('result') || str_rand(); 


localStorage.setItem('result', result ); 
alert(result )

Последний раз редактировалось рони, 04.11.2016 в 15:07.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение значения переменной в куках или передача через ajax tvixa Элементы интерфейса 1 04.02.2016 07:57
Сохранение строки в переменной. Сравнение строк. serega_pte Events/DOM/Window 8 01.02.2016 13:29
Сохранение url адреса в переменной Paltusssss Общие вопросы Javascript 1 07.11.2013 20:38
Сохранение переменной для дальнейшего использования Eser Общие вопросы Javascript 9 28.06.2012 16:56
Сохранение на куках _M_ Элементы интерфейса 3 21.05.2012 17:37