Ответ 1
Возможно, вы захотите попробовать:
document.documentElement.clientHeight;
Или можно использовать метод jQuery .height()
:
$(window).height();
У меня есть некоторые вычисления, которые полагаются на window.innerHeight
. Но, как я выяснил, это не доступно ни в одном IE до IE9. Все остальные варианты, на которые я смотрел, даже не приближаются к цифре, которую я получаю, когда я использую window.innerHeight
.
Есть ли у кого-нибудь работа?
Возможно, вы захотите попробовать:
document.documentElement.clientHeight;
Или можно использовать метод jQuery .height()
:
$(window).height();
Я сделал простую прокладку для IE8 и других:
window.innerWidth
window.innerHeight
window.scrollX
window.scrollY
document.width
document.height
559 байт
(function(d,b){var c=b.documentElement;var a=b.body;var e=function(g,h,f){if(typeof g[h]==="undefined"){Object.defineProperty(g,h,{get:f})}};e(d,"innerWidth",function(){return c.clientWidth});e(d,"innerHeight",function(){return c.clientHeight});e(d,"scrollX",function(){return d.pageXOffset||c.scrollLeft});e(d,"scrollY",function(){return d.pageYOffset||c.scrollTop});e(b,"width",function(){return Math.max(a.scrollWidth,c.scrollWidth,a.offsetWidth,c.offsetWidth,a.clientWidth,c.clientWidth)});e(b,"height",function(){return Math.max(a.scrollHeight,c.scrollHeight,a.offsetHeight,c.offsetHeight,a.clientHeight,c.clientHeight)});return e}(window,document));
Для получения обновлений взгляните на этот смысл: yckart/9128d824c7bdbab2832e
(function (window, document) {
var html = document.documentElement;
var body = document.body;
var define = function (object, property, getter) {
if (typeof object[property] === 'undefined') {
Object.defineProperty(object, property, { get: getter });
}
};
define(window, 'innerWidth', function () { return html.clientWidth });
define(window, 'innerHeight', function () { return html.clientHeight });
define(window, 'scrollX', function () { return window.pageXOffset || html.scrollLeft });
define(window, 'scrollY', function () { return window.pageYOffset || html.scrollTop });
define(document, 'width', function () { return Math.max(body.scrollWidth, html.scrollWidth, body.offsetWidth, html.offsetWidth, body.clientWidth, html.clientWidth) });
define(document, 'height', function () { return Math.max(body.scrollHeight, html.scrollHeight, body.offsetHeight, html.offsetHeight, body.clientHeight, html.clientHeight) });
return define;
}(window, document));
Используйте следующее в document.ready
и укажите innerHeight
явно.
window.innerHeight = window.innerHeight || document.documentElement.clientHeight
Метод Javascript для получения полной высоты окна..:
window.outerHeight;
Методы Javascript для получения полной высоты документа..:
document.body.clientHeight;
или
document.body.offsetHeight;
Методы Javascript для получения видимой высоты области документа..:
это высота окна без баров.
window.innerHeight;
методы jQuery, чтобы получить видимую высоту области документа и окно без высоты области бара..:
$(window).height();
или
$(window).outerHeight();
Методы jQuery для получения полной высоты документа..:
$(document).height();
или
$(document).outerHeight();
что все, надеюсь, вам помогут:)
Я искал, потому что n o n e из функций, опубликованных здесь, как представляется, работает, я всегда получал windowviewheight, а не всю документацию...
это работает во всех браузерах, которые я тестировал... также iexplore 8:
var D = document;
var myHeight = Math.max(
D.body.scrollHeight, D.documentElement.scrollHeight,
D.body.offsetHeight, D.documentElement.offsetHeight,
D.body.clientHeight, D.documentElement.clientHeight
);
alert(myHeight);