Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2012, 14:19
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

как узнать если поддержка Web Storage?
Казалось бы должно работать

if (!localStorage) {
// в браузере нет поддержки
}


В браузере safari есть опция "Частный доступ", при ее включении содержимое localStorage недоступно, создать новое св-во нельзя, но условие выше не срабатывает.
Видимо localStorage есть, но сафари не работает с ним в данном режиме и localStorage.length == 0

Как мне узнать что web Storage в браузере есть, но у пользователя включен "Частный доступ"?


Прописал в этом режиме так:
localStorage.prop = "value";
alert(localStorage.prop);

Хотел узнать что выдаст алерт, а он вообще не всплыл(

Последний раз редактировалось dmitry111, 29.10.2012 в 14:27.
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2012, 00:12
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

alert( window.sessionStorage || window.localStorage );
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2012, 00:16
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

Ну раз не всплыл, значит там ошибка.
var supportStorage = false;

if ('localStorage' in window) {
  try {
    localStorage.setItem('test', 1);
    supportStorage = true;
  } catch (e) {}

  if (supportStorage) {
    localStorage.removeItem('test');
  }
}
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2012, 09:10
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

nerv_,

хотелось бы чтоб можно было решить так, но это не будет работать где есть поддержка, но нет доступа (как в моем случае)

Nekromancer,

Да, так работает! Хоть может затереть уже имеющееся св-во, но в моем случае это решаемо.
Спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2012, 09:15
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Кстати, заметил особенность с localStorage в opera 12.02
Если пробежаться по свойствам объекта, то по дефолту там уже будет localStorage.length

Ответить с цитированием
  #6 (permalink)  
Старый 30.10.2012, 14:19
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

dmitry111,
Можно рендомным ключём проверять.
var supportStorage = false,
  supportKey = 'supportKey' + Math.random();

if ('localStorage' in window) {
  try {
    localStorage.setItem(supportKey, 1);
    supportStorage = true;
  } catch (e) {}

  if (supportStorage) {
    localStorage.removeItem(supportKey);
  }
}

alert(supportStorage);
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2012, 16:36
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Nekromancer,

да, можно и так
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите как узнать существует ли объект в памяти? Yazla Общие вопросы Javascript 2 05.11.2009 20:05
Как узнать сколько членов в объекте kdie Общие вопросы Javascript 2 30.09.2009 12:28
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 11:21
Как узнать свернуто окно браузера или нет. bar-boss Events/DOM/Window 3 25.09.2008 16:09
Как сравнить класс, если их много!? Sc@M Events/DOM/Window 16 29.08.2008 12:47