Полный расчет высоты документа:
Чтобы быть более общим и найти высоту любого документа, вы могли бы просто найти самый высокий узел DOM на текущей странице с простой рекурсией:
;(function() {
var pageHeight = 0;
function findHighestNode(nodesList) {
for (var i = nodesList.length - 1; i >= 0; i--) {
if (nodesList[i].scrollHeight && nodesList[i].clientHeight) {
var elHeight = Math.max(nodesList[i].scrollHeight, nodesList[i].clientHeight);
pageHeight = Math.max(elHeight, pageHeight);
}
if (nodesList[i].childNodes.length) findHighestNode(nodesList[i].childNodes);
}
}
findHighestNode(document.documentElement.childNodes);
// The entire page height is found
console.log('Page height is', pageHeight);
})();
Вы можете протестировать его на своих сайтах-образцах ( http://fandango.com/ или http://paperbackswap.com/ ), вставив этот скрипт в DevTools Консоль.
ПРИМЕЧАНИЕ: он работает с Iframes
.
Наслаждайтесь!