кросс-браузерное изменение размера окна браузера в JavaScript

javascript browser cross-browser

45026 просмотра

3 ответа

38082 Репутация автора

Я хотел бы иметь возможность изменить размер окна браузера с помощью JavaScript. Я не хочу использовать jQuery, и чем меньше код, тем лучше, но он должен работать во всех основных браузерах, включая Chrome.

Какие-либо решения?

Спасибо за помощь!

PS Теги, которыми был отмечен этот вопрос, должны быть объединены, но я не знаю как.

браузер ----------- так же, как -> веб-браузер

кросс-браузер ---- так же, как -> совместимость браузера

Автор: Web_Designer Источник Размещён: 17.09.2011 02:24

Ответы (3)


20 плюса

161925 Репутация автора

Решение

window.resizeTo (ширина, высота);

Проблема, с которой вы можете столкнуться, заключается в том, что современные браузеры могут помешать вам в настройках изменить размер окна. Обойти это невозможно.

Хром этого не допустит. Не исправит ошибку

IE основан на зонах безопасности

Автор: epascarello Размещён: 17.09.2011 02:42

6 плюса

158205 Репутация автора

Веб-страница не может изменить размер главного окна браузера в Chrome. Код JavaScript разрешается только для изменения размера всплывающих окон.

Автор: duskwuff Размещён: 17.09.2011 03:03

10 плюса

111 Репутация автора

Дело в том, что Chrome, Firefox и более новые IE не позволяют изменять размеры окон с вкладками и окон, не открываемых window.open()(по крайней мере, Chrome).

Но для всплывающих окон это по большей части выполнимо, если только настройка безопасности в браузере не блокирует эту функцию. Однако использование window.resizeTo()сложно. Используйте window.resizeBy()вместо этого.

В Chrome есть ошибка, приводящая к увеличению размера всплывающего окна, поэтому вам придется обойти это.

if(navigator.userAgent.toLowerCase().indexOf('chrome') > -1)
    var t = setTimeout("resize()", 200);
else
    resize();

function resize() {
    var innerWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
    var innerHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    var targetWidth = 800;
    var targetHeight = 600;
    window.resizeBy(targetWidth-innerWidth, targetHeight-innerHeight);
}
Автор: tivolimeister Размещён: 17.01.2012 10:17
Вопросы из категории :
32x32