Encontre a altura e a largura exatas da viewport de maneira cruzada (sem Prototype / jQuery)

Eu estou tentando encontrar a altura exata e largura da viewport de um navegador, mas eu suspeito que Mozilla ou IE está me dando o número errado. Aqui está o meu método de altura:

var viewportHeight = window.innerHeight || 
                     document.documentElement.clientHeight || 
                     document.body.clientHeight;

Ainda não comecei na largura, mas acho que vai ser algo parecido.

Existe uma maneira mais correta de obter essa informação? Idealmente, gostaria que a solução funcionasse com o Safari / Chrome / outros navegadores também.

questionAnswers(5)

yourAnswerToTheQuestion