Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2012, 14:46   #1
Kamilius
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 23
По умолчанию globalStorage в JavaScript

Доброго времени суток.
Пытаюсь разобраться в том, как работает window.globalStorage в рамках локальной машины. Для теста поставил две кнопки, которые обрабатываются двумя функциями. Первая запрашивает строку, которая далее должна будет записаться в globalStorage с именем "хранилище".
Вторая же - загружает данные по имени по имени хранилища и выводит их в виде alert'a:

Код:
var name = 'хранилище';
var storage = window.globalStorage['localhost']; /* здесь хром выдает ошибку: Uncaught TypeError: Cannot read property 'localhost' of undefined */

function saveToLocalStorage()
{
	var mark = prompt('enter mark', 'type here');
	storage.setItem(name, mark);
	alert(storage.getItem(name));
	
}

function loadFromLocalStorage()
{
	alert(name + " - " + storage[name]);
}
Код, в том виде, в котором он есть - не работает.
Вопрос следующий: есть ли у вас какая-либо актуальная информация о том, как именно работает globalStorage (в частности на локальной машине, предположим, не имеющей подключения к интернету)? То есть как правильно инициализируется, как правильно добавлять\получать\удалять обьекты из него? Нашел массу однородной информации, но никак не могу понять как именно работает обьект. Попутно уже разобрался с localStorage, но он не переживает закрытие и повторное открытие браузера, что для меня очень важно.

Заранее благодарен
Kamilius вне форума Ответить с цитированием
Старый 22.11.2012, 14:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
var storage = window.globalStorage['localhost'];
По-моему это не нужно.
Просто написать globalStorage.setItem(name, mark); не пробовал?
Цитата:
но он не переживает закрытие и повторное открытие браузера, что для меня очень важно.
Чего??? Хром не хранит? Я не пробовал в нем но и Мозилла и Опера локальное хранилище хранит в своей базе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 15:01   #3
Kamilius
Пользователь
 
Регистрация: 28.02.2012
Сообщений: 23
По умолчанию

Цитата:
По-моему это не нужно.
Просто написать globalStorage.setItem(name, mark); не пробовал?
Пробовал и в Хроме и ФФ - не работает. Хром выдает ошибку на строке globalStorage.setItem(name, mark); - Uncaught ReferenceError: globalStorage is not defined

Цитата:
Чего??? Хром не хранит? Я не пробовал в нем но и Мозилла и Опера локальное хранилище хранит в своей базе.
Пробовал, даже после перезагрузки страници(не говоря уже о перезагрузке браузера) - вместо введенной ранее данной выдает "null".

Прошу прощения, в Хроме, вроде бы, начало работать (в плане локала). Спасибо. Теперь буду разбираться, почему данные не сохраняет ФФ.

Нашел следующую информацию:
В хроме нет такого понятия как globalStorage. Его роль, по плану, играет localStorage.
Эти данные нашел в консоли разработчика Google Chrome (F12), в закладке "Resources".

Как я понял - Local Storage - для долгосрочного хранения, а Session Storage - в пределах определенной сессии и уничтожаеться после её закрытия.

Последний раз редактировалось Stilet; 22.11.2012 в 15:20.
Kamilius вне форума Ответить с цитированием
Старый 22.11.2012, 15:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это один из моих кодов:
Код:
  
 objUSSR.OPS=localStorage.getItem('OPS');
   if(!objUSSR.OPS || objUSSR.OPS==''){
    objUSSR.OPS=prompt('Какой индекс отделения','');
	localStorage.setItem('OPS',objUSSR.OPS);
    }
 beforemsg('Подключаюсь...');
 objUSSR.Send('RuleForm=Yes'+'&OPS='+objUSSR.OPS,objUSSR.OnOkList,objUSSR.OnFailAlert);
Лисичка прекрасно запоминает первый введенный индекс, и после при запуске скрипта извлекает его из хранилища. И по барабану закрывал ли я браузер или нет.
Так что думаю в Хроме тоже самое должно быть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2012, 20:38   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Код:
Uncaught TypeError: Cannot read property 'localhost' of undefined
Читаем по слогам: не могу прочитать свойство "локалхост" у неопределенного объекта. Пишем в консоле "console.log(window.globalStorage)";
Та-дам! undefined Дальше развивать мысль?)
У вас 6 опечаток в слове local
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JavaScript ll0nl1ne Помощь студентам 0 06.04.2012 16:25
globalStorage Anoobis JavaScript, Ajax 1 20.05.2011 15:21
Javascript - классы, они есть или их нету в Javascript? Kasper1 JavaScript, Ajax 3 05.03.2011 09:42