Le script $(window).height()
fonctionne bien (montrant la hauteur de la fenêtre et non le document avec la hauteur de défilement), MAIS il faut que vous mettiez correctement la balise doctype dans votre document, par exemple ces doctypes:
Pour html5: <!doctype html>
pour html4 de transition: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Le doctype par défaut supposé par certains navigateurs est probablement tel qu'il $(window).height()
prend la hauteur du document et non la hauteur du navigateur. Avec la spécification doctype, c'est résolu de manière satisfaisante, et je suis presque sûr que vous éviterez le "passage du scroll-overflow à hidden puis back", ce qui est, je suis désolé, un truc un peu sale, surtout si vous ne le faites pas ' t le documenter sur le code pour l'usage futur du programmeur.
De plus, si vous faites un script, vous pouvez inventer des tests pour aider les programmeurs dans vos bibliothèques, laissez-moi en inventer quelques:
$(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");
}
});