Как обновить экран при изменении размера браузера?

Возможно ли обновить страницу при изменении размера браузера? Я использую некоторые стили, которые создают области на странице, и если браузер уменьшает разброс макета.

Возможно, я могу определить изменение размера документа с помощью jQuery?

Ответы

Ответ 1

Обновить для всех, кто просматривает это сейчас. JQuery теперь считает bind устаревшей функцией.

И как работает запрос proximus (по крайней мере, в Opera/Chrome/Firefox), он постоянно опросает для изменения размера, даже если браузер просто сидит там. Похоже, что функция изменения размера вызывалась автоматически, когда она попадала в location.reload(), в результате чего она попадала в бесконечный цикл. Вот что я собрал вместе, что также решило проблему.

jQuery(function($){
  var windowWidth = $(window).width();
  var windowHeight = $(window).height();

  $(window).resize(function() {
    if(windowWidth != $(window).width() || windowHeight != $(window).height()) {
      location.reload();
      return;
    }
  });
});

Ответ 2

Здесь чисто JS-решение, потому что я считаю нецелесообразным использовать jQuery для всего.

window.addEventListener('resize', function () { 
    "use strict";
    window.location.reload(); 
});

Недостатком является то, что он не будет работать в браузере IE старше 9.

Ответ 3

Если вы ищете решение jQuery, вы можете использовать что-то вроде этого:

$(window).bind('resize', function() {
     location.reload();
});

Возможно, имеет смысл дополнительно использовать тайм-аут...

Ответ 4

$(window).resize( function() {

window.location.href = window.location.href;

});

Это работало для меня!

Ответ 5

Simple. Это не срабатывает для нескольких событий только одно событие каждые x секунд. В принятом ответе будет слишком много событий

var resizeTimeout;
window.addEventListener('resize', function(event) {
  clearTimeout(resizeTimeout);
  resizeTimeout = setTimeout(function(){
    window.location.reload();
  }, 1500);
});

для jQuery заменить window.addEventListener('resize' на $(window).resize

Ответ 7

Просто используйте этот код

$(window).resize( function() {

window.location.href = window.location.href;

});

Надеюсь, что это полезно

Ответ 8

Возникает проблема, если кто-то перетаскивает окно для изменения размера - будет слишком много изменений размера.

Лучше использовать таймер, чтобы очистить его:

$(window).on('resize', function () {

    if (timeoutId) {
        clearTimeout(timeoutId);
    }

    timeoutId = setTimeout(function () {
        location.reload();
    }, 500);
});