Получение результатов showModalDialog с документом из разных источников - PullRequest
0 голосов
/ 20 декабря 2011

Наш веб-сайт использует showModalDialog.Исходя из того, что сделано в диалоге, мы можем или не можем перезагрузить страницу, которая открыла диалог.Мы делаем это, установив в диалоговом окне JavaScript значение window.returnValue на true или false, а затем нижележащая страница проверяет, что при возвращаемом значении вызова showModalDialog.

Это прекрасно работает, когдадокумент диалога и нижележащая страница загружаются из одного домена происхождения.Как это обычно бывает в Интернете, когда домен диалогового окна не совпадает с доменом страницы, возвращаемое значение из showModalDialog всегда равно undefined.

Я развлекался, передавая флаг из диалогового окна нижележащемуокно по-разному.К счастью, мы ориентируемся на браузеры, которые все поддерживают postMessage, но диалог JavaScript, похоже, не получает значение для window.opener, поэтому я не думаю, что он может получить ссылку на окно, поэтому оно может опубликовать сообщение.Внедрение обходного решения iframe, подобного этому , невозможно с нашей базой кода, потому что это потребовало бы от нас установки документов получателей iframe на нескольких сайтах, которые могут открыть этот же диалог.

Есть ли лучший способчтобы у нас был диалог с начальными страницами, не требующими перезагрузки?

1 Ответ

0 голосов
/ 29 декабря 2011

Возможно, я нашел свой ответ. Из того, что я понимаю, если я установлю свойство document.domain и для документа открытия, и для диалогового документа на одно и то же значение, я смогу получить доступ к этой информации. Так как оба находятся в поддоменах одного корневого доменного имени, оно должно работать. Если я попробую это, и это сработает, я приму этот ответ.

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