Почему IE выдает ошибку «отказано в доступе» при попытке доступа к любому свойству всплывающего окна? - PullRequest
1 голос
/ 08 июля 2010

Я создал всплывающее окно (что-то вроде этого):

var win;
function popup() {
  if (win) {
    win.close();
    win = null;
  }
  win = window.open(...);
}

Этот точный код в простом файле .html работает просто отлично.Однако это вызывает проблемы в нашем веб-приложении.IE всегда выдает исключение «отказано в доступе» при попытке получить доступ почти ко всем свойствам уже открытого всплывающего окна.URL-адрес, который я открываю, находится на том же сервере, поэтому это не должно быть проблемой XSS.

Другие браузеры с этим справляются.

Ответы [ 2 ]

1 голос
/ 08 июля 2010

Пара вещей: 1. как ведут себя другие браузеры? 2. может ли быть настройка IE, которая разрешает / запрещает это?

0 голосов
/ 08 июля 2010

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

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