Как обновить экран при изменении размера браузера?
Возможно ли обновить страницу при изменении размера браузера? Я использую некоторые стили, которые создают области на странице, и если браузер уменьшает разброс макета.
Возможно, я могу определить изменение размера документа с помощью 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
Ответ 6
Есть событие onresize, которое вы можете прослушать:
https://developer.mozilla.org/en/DOM/element.onresize
Ответ 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);
});