Encuentre la altura y el ancho exactos de la ventana gráfica de forma cruzada (sin Prototype / jQuery)

Estoy tratando de encontrar la altura y el ancho exactos de la ventana gráfica de un navegador, pero sospecho que Mozilla o IE me están dando el número equivocado. Aquí está mi método para la altura:

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

Todavía no he empezado en ancho, pero supongo que va a ser algo similar.

¿Hay una manera más correcta de obtener esta información? Idealmente, me gustaría que la solución también funcionara con Safari / Chrome / otros navegadores.