O script $(window).height()
funciona bem (mostrando a altura da janela de visualização e não o documento com altura de rolagem), MAS ele precisa que você coloque corretamente a tag doctype em seu documento, por exemplo, estes doctypes:
Para html5: <!doctype html>
para html4 transicional: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Provavelmente o doctype padrão assumido por alguns navegadores é tal, que $(window).height()
leva a altura do documento e não a altura do navegador. Com a especificação doctype, é resolvido de forma satisfatória, e tenho certeza que seus peps evitarão "alterar o estouro de rolagem para oculto e depois de volta", o que é, desculpe, um truque um tanto sujo, especialmente se você não t documente no código para uso futuro do programador.
Além disso, se você está fazendo um script, pode inventar testes para ajudar os programadores em suas bibliotecas, deixe-me inventar alguns:
$(document).ready(function() {
if(typeof $=='undefined') {
alert("Error, you haven't called JQuery library");
}
if(document.doctype==null || screen.height < parseInt($(window).height()) ) {
alert("ERROR, check your doctype, the calculated heights are not what you might expect");
}
});