Проблемы с 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;
    }
}