如何使用Prototype.js版本1.6.0.3获取浏览器窗口的大小?
答案 0 :(得分:21)
根据Prototype API documentation:
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
答案 1 :(得分:8)
同样的想法,但更紧凑:
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)
});
答案 2 :(得分:4)
这是我的解决方案,它提供与Firefox中的Web Developer工具栏相同的值。
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;
}
});
答案 3 :(得分:2)
这适用于所有现代浏览器和ie6 +:
var w = document.documentElement.clientWidth;
var h = document.documentElement.clientHeight;
需要正确的Doctype