В 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
Ответ 2
Из любопытства, что твой windowId
? Имеет ли место в нем?
Потому что по-видимому, IE9 не удастся, если в заголовке окна есть пробел.
Ответ 3
На самом деле, в моем случае, я получал ссылку window.open null, если я открываю URL-адрес сайта localhost или intranet. Если мое всплывающее окно содержит URL-адрес веб-сайта, я получаю объект окна в ссылке.
Я решил сделать следующее:
- Открыть IE > Инструменты > Свойства обозревателя
- Перейдите на вкладку "Безопасность"
- Включить защищенный режим, установив флажок
- Перезапустить IE
Теперь он начал давать мне ссылку на объект окна для всплывающего окна, открытого с помощью сайтов интрасети.
Надеюсь, это поможет.