Браузеры игнорируют параметры окна при открытии новых окон через javascript? - PullRequest
2 голосов
/ 01 октября 2010

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

Мой код выглядитэто:

newwindow=window.open(url,'name','height=250,width=290,left=200,top=200,location=no,resizable=yes,scrollbars=yes,toolbar=no,status=no');

Есть идеи?Клиент настаивает на всплывающем окне, а не на всплывающей подсказке.

Ответы [ 6 ]

4 голосов
/ 01 октября 2010

Браузеры перестали слушать некоторые параметры из соображений безопасности. Например, FF3 + и IE6 / 7+ заставляют адресную строку предотвращать мошенников, притворяющихся сайтом, которым они не являются.

Похожие: Строка состояния безопасности Internet Explorer 7

Всякий раз, когда вы посещаете какой-либо веб-сайт, вы должны просмотреть полный адрес (URL) сайта, чтобы понять, какой веб-сайт вы просматриваете. IE7 помогает вам, обеспечивая наличие адресной строки в каждом окне, но вам все еще может потребоваться прокрутить ее или развернуть окно, чтобы просмотреть полный адрес.

Если вам нужно больше свободы и если у вас есть некоторый контроль над компьютером пользователя (например, в закрытой интрасети), существуют решения, такие как Mozilla Prism , которые позволяют веб-сайту выглядеть скорее как настольное приложение. Но это узкоспециализированные решения, не подходящие для обычных веб-сайтов.

3 голосов
/ 01 октября 2010

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

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

Например, вы можете прочитать здесь об ограничениях в Internet Explorer .

Некоторые цитаты:

"Internet Explorer 6 для Windows XP SP2 требует, чтобы заголовок окна панель и строка состояния всегда находятся в видимая область дисплея; если адресная строка отображается, она также должна оставаться видимым Размещая эти ограничения на окна, открытые скриптом, Оконные ограничения безопасности функция предотвращает вредоносный код от сокрытие информации и от подделки пользовательские интерфейсы. Окно функция ограничений включена по умолчанию для интернет-зоны и функции по умолчанию отключен для локального Зоны интрасети и надежных сайтов. "

и

"Строка состояния интернета Функция безопасности Explorer, которая предоставляет пользователю интернет Информация о зоне безопасности проводника. До Internet Explorer 6 для Windows XP SP2, строка состояния может быть скрытым от пользователя скриптами которые вызывают метод window.open. С строка состояния скрыта от просмотра пользователями могут быть обмануты, думая, что они были на надежном сайте, когда они на самом деле взаимодействовали с вредоносный хост.

При наличии оконных ограничений строка состояния не может быть отключена для любое окно, созданное window.open Способ; это всегда видно всем Internet Explorer для Windows. Зона информация о том, что строка состояния Содержимое не может быть подделано или скрыто с точки зрения, так что пользователь всегда знает в какой зоне безопасности содержимое отображается. "

Речь идет о IE 6, как тогда, когда это было введено. В IE 7 произошли некоторые изменения, но это в основном связано с тем, как изменилась навигация, из-за чего некоторые параметры команды open работают по-другому или устарели.

1 голос
/ 01 октября 2010

Более подробно о том, что сказал FatherStorm, здесь есть несколько вариантов:

Как создать простое всплывающее окно с помощью jQuery

1 голос
/ 01 октября 2010

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

http://jqueryui.com/demos/draggable/

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

Некоторая более конкретная информация о том, как пользователь может изменить настройку, позволяющую Javascript устанавливать статус и / или адрес на скрытый или видимый:

Из диалога «Пользовательский уровень» из безопасности IEtab - прокрутите вниз до:

«Разрешить веб-сайтам открывать окна без адресной строки или строки состояния»

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

Насколько мне известно, это относится к IE7, IE8 и IE9

0 голосов
/ 01 октября 2010

Большинство браузеров по умолчанию отображают строку местоположения и строку состояния, что также делает невозможным переопределение window.status. Это сделано для безопасности (для защиты от фишинга).

...