IE window.open во второй сессии открывает окно с идентификатором первой сессии
У меня есть приложение asp.net, и мне нужно запустить две сессии одновременно.
Я также использую windows.open
на некоторых из моих страниц, и именно здесь начинается моя проблема. Если у меня есть две сессии, когда я звоню windows.open
в JavaScript с одной из моих страниц во второй сессии открывается новое окно с идентификатором сессии из первой сессии.
Я также должен добавить, что второй сеанс создается в другом экземпляре IE с использованием приведенного ниже кода.
var myshell = new ActiveXObject("Shell.Application");
if (parseFloat(ieVersion) >= 8) {
myshell.ShellExecute("iexplore.exe", "-noframemerging " + url, "", "open", 1);
}
else {
myshell.ShellExecute("iexplore.exe", url, "", "open", 1);
}
1 ответ
Я знаю, почему это так, но я нашел проблему...
Новое окно, открытое из второго экземпляра IE, загружалось неправильно и выполняло рендеринг обратно в первом экземпляре IE.
Javascript для открытия окна просто: window.open(the_url, "DisplayWindow", опция);
Это работает на первом экземпляре IE просто отлично, а на некоторых компьютерах под управлением Windows 7 и IE 9 это работает, открывая окно на втором экземпляре IE, но для других компьютеров, на которых запущена такая же настройка, это просто не работает!
Решение состоит в том, чтобы просто удалить имя окна.
window.open (the_url, "", опция);
Я также нашел похожую проблему, когда в IE9 окно не открывается, если имя окна содержит пробел! Поэтому попробуйте изменить имя окна или удалить его, если у вас есть похожая проблема.