Какой правильный синтаксис для IE7 / 8, чтобы проверить текущий размер окна - PullRequest
0 голосов
/ 17 февраля 2012

Может кто-нибудь предложить, как определить текущий размер окна, например, 7/8 или, в общем, мне нужно рассчитать текущую ширину, чтобы перенаправить на iframe, пока я пробовал это:

document.documentElement.offsetWidth - работает только в ie9

document.body.offsetWidth - не определено

self.innerWidth - не определено

Может кто-нибудь может предложить также подход прототипа?

Спасибо, ребята!

   if(document.documentElement.offsetWidth > (old_w + new_w)){
     window.location = '/mylocation';
   }

1 Ответ

2 голосов
/ 17 февраля 2012

попробуйте это ... Как я уже изучил, это кросс-браузерная реализация для того, что вы ищете:

window.$getView = function() {
        var ret = {
            width : 0,
            height : 0,
            element : null
        };
        if( typeof window.innerWidth != 'undefined') {
            ret.width = window.innerWidth;
            ret.height = window.innerHeight;
            ret.element = window;
        } else if( typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
            ret.width = document.documentElement.clientWidth;
            ret.height = document.documentElement.clientHeight;
            ret.element = document.documentElement;
        } else {
            ret.width = document.getElementsByTagName('body')[0].clientWidth;
            ret.height = document.getElementsByTagName('body')[0].clientHeight;
            ret.element = document.getElementsByTagName('body')[0];
        }
        return ret;
    }
...