如何使用Prototype.js获取浏览器窗口的大小?

时间:2009-05-07 09:32:40

标签: prototypejs

如何使用Prototype.js版本1.6.0.3获取浏览器窗口的大小?

4 个答案:

答案 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