IE9 потерял контроль над дочерним окном - PullRequest
0 голосов
/ 08 августа 2011

У меня есть javascipt, который открывает 2 всплывающих окна с похожим кодом:

Child[i] = window.open(...);

И затем я пытаюсь закрыть их все из главного окна следующим кодом:

setTimeout(Child[i].close(), 5000);

Проблема в IE9, всплывающее окно 2 не может быть закрыто, кажется, что главное окно полностью утратило контроль над всплывающим окном 2 (дочернее окно), но это происходит только тогда, когда реальный URL-адрес 2 URL, я имею в виду URL-адрес целевого веб-сайта (например, google.com), с другой стороны, если URL-адрес about:blank, поэтому всплывающие окна закрываются через 5 секунд (что работает, как и ожидалось).

В Chrome скрипт отлично работает независимо от того, какой URL.
Я понятия не имею, что такое поведение IE, поэтому надеюсь получить некоторую помощь от вас.
Спасибо!

1 Ответ

1 голос
/ 08 августа 2011

Попробуйте установить это перед закрытием:

Child[i].opener = window;
Child[i].close();

Примечание: Это работает в IE <9, еще не пробовал на 9. </p>

Еще одна вещь, которую я только что заметил, измените setTimeout позвоните по этому номеру и попробуйте:

setTimeout(function() {
   Child[i].opener = window;
    Child[i].close();
}, 5000);
...