window.resizeTo влияет на последующие окна Firefox - PullRequest
3 голосов
/ 09 октября 2008

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

window.resizeTo(200,300)

Людям нравится, когда страница помещается в окно таким образом. Однако в Firefox следующее окно браузера, которое открывает пользователь, имеет тот же размер, который смехотворно мал.

Есть ли способ указать Firefox изменить размер текущего окна, но не изменить его представление о том, насколько большими должны быть последующие окна?

Ответы [ 7 ]

4 голосов
/ 09 октября 2008

Два разных вопроса на работе здесь:

1. Указание размеров окна -

Задание атрибутов окна с помощью window.open не повлияет на размеры других окон.
Вы получаете ожидаемое поведение от Firefox в отношении функции resizeTo.

2. Пользовательский опыт -

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

Я согласен с @ Shog9, что вам следует пересмотреть использование window.resizeTo. Возможно, принудительно не заставляет окно иметь какой-либо конкретный размер, за исключением, возможно, всплывающее окно . Использование жидкостных макетов может помочь вам достичь приемлемого дизайна для любого разумного размера окна .

4 голосов
/ 09 октября 2008

Людям нравится, когда страница помещается в окно таким образом.

Какие люди ?! Я был бы серьезно раздражен, если бы веб-страница делала что-либо размером с окно моего браузера. К счастью, FF также позволяет пользователям отключать перемещение или изменение размеров существующих окон - функция, которой я пользуюсь уже несколько лет.

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

2 голосов
/ 12 октября 2008

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

Размер окна приложения определяется пользователем, а не владельцам веб-сайтов.

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

Это большая досада для большинства пользователей, особенно когда у вас открыто 17 вкладок шириной 1600 пикселей, и некоторые дизайнеры печати решили, что при открытии следующей вкладки все остальные вкладки должны иметь ширину 300 пикселей.

Гораздо удобнее использовать что-то типа толстой / светлой / серой / тонкой коробки.

Я просто нахожу альтернативные веб-сайты или запускаю скрипт greasemonkey, чтобы сайты этого не делали.

Просто должен был разглагольствовать об этом. К сожалению.

2 голосов
/ 09 октября 2008

Просто хочу добавить, что ваш лучший способ - избегать использования window.open и использовать вместо этого какой-то каркас LightWindow - гораздо приятнее, ведет себя одинаково во всех браузерах и не зависит от параметров браузера. Вы можете увидеть пример рамки здесь http://www.stickmanlabs.com/lightwindow/

2 голосов
/ 09 октября 2008

Argh, у меня есть сайт погоды, который делает это: пытается создать всплывающее окно (которое заканчивается как новая вкладка) и изменяет его размер (таким образом изменяя размер всего браузера Firefox!).

Не нужно говорить, что я ненавижу это.

Некоторые всплывающие окна заблокированы, другие могут отображаться как всплывающие, другие переходят на новую вкладку. Это зависит от метода, используемого для их порождения, и настроек браузера / расширений. Практически невозможно управлять, даже менее в кросс-браузерном режиме.

Современный способ (все еще очень раздражающий для рекламы!) Состоит в том, чтобы делать наложения div, немного менее навязчивыми. Конечно, это может не удовлетворить все потребности.

1 голос
/ 09 октября 2008

Единственный способ сделать это как один из уже упомянутых постеров - установить ширину и высоту при открытии нового всплывающего окна с помощью window.open - window.open ('http://www.google.com',' Test ',' width = 800, высота = 800 '); Window.resizeTo никогда не работал в Firefox по какой-либо причине, политической или технической. И, видимо, разработчикам Firefox удалось сломать window.open () в Firefox 3.01, см. Этот пост http://tough -to-find.blogspot.com / 2008/07 / firefox-301-breaks-windowopen-width.html

0 голосов
/ 08 декабря 2011

Вот некоторая связанная информация, которая может помочь пользователям читать этот пост.

Firefox был вынужден убрать поддержку window.resizeTo, и, похоже, ненадолго сделал это. Увидеть http://kb.mozillazine.org/Resizing_oversize_window#JavaScript_no_longer_allowed_to_resize_windows

Вы можете отключить изменение размера окна в Firefox: http://www.howtogeek.com/howto/internet/firefox/disable-web-site-window-resizing-in-firefox/

Если вы включили изменение размера окна JavaScript и оно все еще не работает, то, вероятно, у вас установлен Firebug. Отключите Firebug и перезапустите Firefox, и window.resizeTo снова заработает. Смотрите здесь: https://bugzilla.mozilla.org/show_bug.cgi?id=565541#c47

Что касается необходимости изменения размера окна, я не могу вспомнить многих случаев, но я знаю один, поэтому поделюсь им. Я кодирую окно справки, которое имеет дополнительную панель навигации. У меня есть кнопка, которая позволяет пользователям показывать / скрывать панель навигации. Когда они показывают его, я изменяю размер окна, чтобы освободить место для панели навигации. В этом случае он инициируется пользователем, поэтому он не раздражает пользователей. Однако отключение resizeTo сделало бы это невозможным и, таким образом, уменьшило бы пользовательский опыт (в данном случае). В большинстве случаев это сводится к тому, что большинство инструментов можно использовать как хорошо, так и плохо. Чем внимательнее люди, тем меньше проблем с крутыми инструментами.

...