Neurons to bytes

Как получить размеры видимой части окна браузера (viewport size).

А вот так:


function getViewportSize() {
    var size = {};

    if (typeof window.innerWidth != 'undefined') {
        size.width  = window.innerWidth,
        size.height = window.innerHeight
    }
    else if (typeof document.documentElement != 'undefined'
        && typeof document.documentElement.clientWidth !=
        'undefined' && document.documentElement.clientWidth != 0) {
            size.width  = document.documentElement.clientWidth,
            size.height = document.documentElement.clientHeight
    } else {
        size.width  = document.getElementsByTagName('body')[0].clientWidth,
        size.height = document.getElementsByTagName('body')[0].clientHeight
    }

    return size;
}

В Mootools лучше делать так:


window.implement({
    getViewportSize: function() {
        var size = {};

        if (typeof window.innerWidth != 'undefined') {
            size.width  = window.innerWidth,
            size.height = window.innerHeight
        }
        else if (typeof document.documentElement != 'undefined'
            && typeof document.documentElement.clientWidth !=
            'undefined' && document.documentElement.clientWidth != 0) {
                size.width  = document.documentElement.clientWidth,
                size.height = document.documentElement.clientHeight
        } else {
            size.width  = document.getElementsByTagName('body')[0].clientWidth,
            size.height = document.getElementsByTagName('body')[0].clientHeight
        }

        return size;
    }
});

Also interesting

  • No Related Post

Tag after ,

  1. Konstantin Tumalevich says:

    Ну ничто не мешает написать и так:
    window.getViewportSize = function()
    {
    var size = {};

    if (typeof window.innerWidth != ‘undefined’) {
    size.width = window.innerWidth,
    size.height = window.innerHeight
    }
    else if (typeof document.documentElement != ‘undefined’
    && typeof document.documentElement.clientWidth !=
    ‘undefined’ && document.documentElement.clientWidth != 0) {
    size.width = document.documentElement.clientWidth,
    size.height = document.documentElement.clientHeight
    } else {
    size.width = document.getElementsByTagName(’body’)[0].clientWidth,
    size.height = document.getElementsByTagName(’body’)[0].clientHeight
    }

    return size;
    }

    • Ouch! says:

      Да не спорю, но тогда сканает и первый вариант, так как функция в js является методом объекта window ;-)

      Я просто показал пример, как принято делать это в Mootools)


(required)


(required but won't be displayed)