HTML5 LocalStorage: Verificando se existe uma chave [duplicada]

Esta pergunta já tem uma resposta aqui:

Como verificar se um item de armazenamento está definido? 9 respostas

Por que isso não funciona?

if(typeof(localStorage.getItem("username"))=='undefined'){
    alert('no');
};

O objetivo é redirecionar o usuário da página de índice para a página de logon, se ainda não estiver logado. Aqui olocalStorage.getItem("username")) variável @ não está definida no moment

É para um aplicativo de captura de tela do iOS.