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

Dav*_*veC 12 prototypejs

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

Pat*_*and 21

根据Prototype 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
Run Code Online (Sandbox Code Playgroud)


小智 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)
});
Run Code Online (Sandbox Code Playgroud)


Dav*_*veC 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;
    }
});
Run Code Online (Sandbox Code Playgroud)