Как получить размер окна браузера с помощью Prototype.js версии 1.6.0.3?
Как получить размер окна браузера с помощью Prototype.js?
Ответ 1
Это мое решение, которое дает те же значения, что и панель инструментов веб-разработчика в Firefox.
var WindowSize = Class.create({
width: function()
{
var myWidth = 0;
if (typeof(window.innerWidth) == 'number')
{
//Non-IE
myWidth = window.innerWidth;
}
else if (document.documentElement && document.documentElement.clientWidth)
{
//IE 6+ in 'standards compliant mode'
myWidth = document.documentElement.clientWidth;
}
else if (document.body && document.body.clientWidth)
{
//IE 4 compatible
myWidth = document.body.clientWidth;
}
return myWidth;
},
height: function()
{
var myHeight = 0;
if (typeof(window.innerHeight) == 'number')
{
//Non-IE
myHeight = window.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
{
//IE 6+ in 'standards compliant mode'
myHeight = document.documentElement.clientHeight;
}
else if (document.body && document.body.clientHeight)
{
//IE 4 compatible
myHeight = document.body.clientHeight;
}
return myHeight;
}
});
Ответ 2
В соответствии с API-прототипа :
var viewport = document.viewport.getDimensions(); // Gets the viewport as an object literal
var width = viewport.width; // Usable window width
var height = viewport.height; // Usable window height
Ответ 3
И та же идея, но более компактная:
var WindowSize = Class.create({
width: window.innerWidth || (window.document.documentElement.clientWidth || window.document.body.clientWidth),
height: window.innerHeight || (window.document.documentElement.clientHeight || window.document.body.clientHeight)
});
Ответ 4
это работает во всех современных браузерах и ie6 +:
var w = document.documentElement.clientWidth;
var h = document.documentElement.clientHeight;
Требуется правильный Doctype