en / ru

Проблемы с localStorage в IE

По-умолчанию в IE включен Protected Mode (Settings -> Internet options -> Security). Одна из его задач - блокировать использование localStorage.

Проблема в том, что localStorage становится не просто undefined, а браузер выбрасывает критическую ошибку при самой попытке обращения к нему. А ошибка, естественно, прерывает выполнение дальнейшего Javascript кода.

Если вы используете localStorage, то важно не просто проверить, работают ли setItem() и getItem() для window.localStorate, но и обернуть это в try-catch.

function checkForSupport(){
	try {
		window.localStorage.setItem("test_storage", "localStorage ok");
		window.localStorage.removeItem("test_storage");
		return true;
	} catch(e) {
		return false;
	}
}