@ivanDoligov

Как выполнить проверку на то, что был ли у пользователя отключен localStorage?

Добрый день! Подскажите пожалуйста, как правильно по средствам javaScript сделать проверку на то, отключил ли пользователь localStorage или нет? На случай если отключил, то попросить его включить
  • Вопрос задан
  • 164 просмотра
Решения вопроса 3
wapster92
@wapster92 Куратор тега JavaScript
(function() {
  if(window.localStorage)
    console.log("Local Storage Supported")
  else
    console.log("Local Storage Not Supported")
})();
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
https://developer.mozilla.org/ru/docs/Web/API/Web_...
function storageAvailable(type) {
	try {
		var storage = window[type],
			x = '__storage_test__';
		storage.setItem(x, x);
		storage.removeItem(x);
		return true;
	}
	catch(e) {
		return false;
	}
}
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
MDN рекомендует такую функцию:
function storageAvailable(type) {
    var storage;
    try {
        storage = window[type];
        var x = '__storage_test__';
        storage.setItem(x, x);
        storage.removeItem(x);
        return true;
    }
    catch(e) {
        return e instanceof DOMException && (
            // everything except Firefox
            e.code === 22 ||
            // Firefox
            e.code === 1014 ||
            // test name field too, because code might not be present
            // everything except Firefox
            e.name === 'QuotaExceededError' ||
            // Firefox
            e.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&
            // acknowledge QuotaExceededError only if there's something already stored
            (storage && storage.length !== 0);
    }
}


Применение:
if (storageAvailable('localStorage')) {
  // Yippee! We can use localStorage awesomeness
}
else {
  // Too bad, no localStorage for us
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы