кросс-браузерное изменение размера окна браузера в JavaScript - PullRequest
22 голосов
/ 17 сентября 2011

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

Любые решения?

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

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

browser ----------- так же, как ->webbrowser

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

Ответы [ 3 ]

20 голосов
/ 17 сентября 2011

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

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

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

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

10 голосов
/ 17 января 2012

Дело в том, что 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);
}
6 голосов
/ 17 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...