Подтвердить что ты не робот

Принудительное изменение размеров окон

У меня проблемы с моим макетом, когда я вручную меняю размер окна и восстанавливаю его в нормальном состоянии, все в идеальном месте.

Можно ли обмануть браузер и сделать что-то с помощью JavaScript, который фактически заставил бы браузера подумать, что страница была изменена, чтобы мой макет выглядел так, как должен?

ОБНОВЛЕНИЕ:

Можно ли изменить размер и восстановить окно, чтобы пользователь не заметил?

4b9b3361

Ответ 1

Это возможно с Mootools (это означает, что это можно сделать и без рамки), вот пример:

window.addEvent('domready', function() {
 window.addEvent('resize', function() {
  alert('f');
 });
 (function() {
  window.fireEvent('resize');
 }).delay(3000);
});

Через 3 секунды после загрузки DOM-структуры событие resize будет запущено для окна-объекта.

Edit

Я понятия не имею, как Mootools решает их fireEvent для события изменения размера. Я попробовал Google, но нашел нада. Вы можете, конечно, изменить размер окна вручную, но это действительно взломать:

function fireOnResizeEvent() {
 var width, height;

 if (navigator.appName.indexOf("Microsoft") != -1) {
  width  = document.body.offsetWidth;
  height = document.body.offsetHeight;
 } else {
  width  = window.outerWidth;
  height = window.outerHeight;
 }

 window.resizeTo(width - 1, height);
 window.resizeTo(width + 1, height);
}

window.onresize = function() {
 alert("Resized!");
}

Ответ 2

С тех пор лучшее решение было опубликовано в fooobar.com/questions/16515/...:

window.dispatchEvent(new Event('resize'));

Ответ 3

Вы можете изменить размер окна таким образом...

window.resizeTo(width, height);

И если вам нужно вызвать обработчик событий, вы можете сделать это вот так:

window.onresize();

Ответ 4

Вы можете использовать метод jQuery resize(), например:

$(window).resize();

Ответ 5

переключить атрибут отображения в областях, которые необходимо перерисовать. например:

var toDraw = document.getElementById('redrawme');
toDraw.style.display = none;
toDraw.style.display = '';

Я не знаю, whqt результат будет, если вы попытаетесь сделать весь элемент тела, поскольку ive никогда не уставал от него.

Что вы делаете, что вам нужно заставить перерисовать?