Перезагрузить родительское окно на поддомене из всплывающего окна - PullRequest
0 голосов
/ 11 января 2012

Как я могу перезагрузить родительскую страницу в этом сценарии:

Parent domain: sub.abc.com
Popup domain: abc.com

Использование window.opener.location.reload(); из всплывающего окна работает только тогда, когда домены равны (также, когда всплывающее окно является поддоменом родителя).

Я попытался перезагрузить событие onunload в родительском:

var targetWin = window.open(...
targetWin.onunload = function(){ 
    window.location.reload(); 
}; 

Это срабатывает слишком рано, возможно, из-за перенаправления всплывающих окон.

Я также попытался явно установитьдомен в родительском объекте выглядит так:

document.domain = "abc.com";

Это не имеет никакого эффекта, я все еще получаю ошибку

Unsafe JavaScript attempt to access frame with URL 
http://sub.abc.com/ from frame with URL http://abc.com. Domains, protocols and 
ports must match.

Должен ли я прибегнуть к какой-то отвратительной функции опроса, чтобы проверить, если targetWin.closed == true

1 Ответ

0 голосов
/ 27 января 2012

Этот вопрос был в течение двух недель, и я пришел к выводу, что нет способа сделать это без опроса.

Причина, как указано в вопросе, заключается в том, что родитель являетсяподдомен всплывающего окна.

...