В IE9 Win 7 window.open() возвращает null вместо ссылки открытого окна

Я пытаюсь что-то вроде ниже,

var myWindow = null;
if(!myWindow || myWindow.closed)
{
    myWindow = window.open(url, windowId);
}
else 
{
    myWindow.focus();   
}

Все браузеры возвращают окно ref для window.open(), но IE 9 возвращает NULL. У кого-нибудь есть дополнительная информация о том, почему null возвращается или, возможно, обходное решение для IE9?

Ответы

Ответ 1

window.open возвращает ссылочный объект NULL, если Включить защищенный режим отмечен в разделе Свойства обозревателя → Безопасность → Уровень безопасности для этой зоны, а зона - другая, т.е. в моем случае локальный файл открывает всплывающее окно из Интранета.

window.open возвращает ссылочный объект, даже если Включить защищенный режим отмечен, когда mysite.com открывает someothersite.com во всплывающем окне, то есть Internet- > Internet

Ответ 3

На самом деле, в моем случае, я получал ссылку window.open null, если я открываю URL-адрес сайта localhost или intranet. Если мое всплывающее окно содержит URL-адрес веб-сайта, я получаю объект окна в ссылке. Я решил сделать следующее:

  • Открыть IE > Инструменты > Свойства обозревателя
  • Перейдите на вкладку "Безопасность"
  • Включить защищенный режим, установив флажок
  • Перезапустить IE

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