Обновите окно браузера, когда размер окна изменяется до определенной высоты

Может кто-нибудь предложить какой-нибудь код JavaScript, который обновит окно браузера при изменении размера окна до определенной высоты. Похоже на CSS Media запросы.

то есть, если максимальная высота браузера 700px, то обновите.

Заранее спасибо.

2 ответа

Решение

Недавно я делал нечто подобное, и я использую замечательную функцию JavaScript:

var viewportwidth;
var viewportheight;

function resize() {
    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerWidth,
        viewportheight = window.innerHeight
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
        viewportwidth = document.documentElement.clientWidth,
        viewportheight = document.documentElement.clientHeight
    }

    // older versions of IE

    else {
        viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
        viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }
}

Это получит текущую высоту и ширину браузера. Если вы хотите проверить, когда пользователь изменяет размер страницы и вызвать resize() функция, просто используйте простую команду JavaScript window.onresize=resize();

Это основная функция. Отсюда должно быть достаточно легко внести некоторые изменения в код. Например, если вы хотите, чтобы страница обновлялась только тогда, когда ширина становится больше или равна 700, добавьте что-то подобное в resize() функция:

if(viewportwidth >= 700) {
    window.reload();
}

Вот почему Netscape не справился с IE, LOL...

Другие вопросы по тегам