Как вы можете открыть 2 окна, даже когда ie6 блокировщик всплывающих окон включен - PullRequest
2 голосов
/ 27 января 2010

Похоже, что при попытке открыть 2 окна из последовательности вызовов windows.open открывается только первое окно и удаляется ссылка на второе окно. Я знаю, что это звучит немного глупо, но нам нужно второе всплывающее окно.

Есть идеи?

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

Ответы [ 3 ]

2 голосов
/ 27 января 2010

РЕДАКТИРОВАТЬ: я только что понял, что вы, вероятно, используете пустое ('') имя окна для обоих окон:

var win = window.open(url, '', 'blah=1');
var win2 = window.open(url2, '', 'stuff=1'); //later

Это, вероятно, обрабатывается с помощью разных окон в браузерах, отличных от IE6.

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

2 голосов
/ 27 января 2010

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

Существует ключ переопределения, который пользователи могут использовать: в IE6 я думаю, что это CTRL, но это может быть CTRL + ALT, поскольку он был изменен в более поздних версиях (не уверен, был ли он перенесен обратно или нет).

Если вы зайдете в Сервис-> Свойства обозревателя-> Блокировка всплывающих окон-> Настройки-> Уровень блокировки: и посмотрите на значение в раскрывающемся списке «Высокий», он скажет Вы переопределяете ключ в скобках.

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

Если у вас есть дополнительные вопросы, дайте мне знать (я был разработчиком, который реализовал блокировщик всплывающих окон IE).

1 голос
/ 27 января 2010

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

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