Наш веб-сайт использует showModalDialog
.Исходя из того, что сделано в диалоге, мы можем или не можем перезагрузить страницу, которая открыла диалог.Мы делаем это, установив в диалоговом окне JavaScript значение window.returnValue
на true
или false
, а затем нижележащая страница проверяет, что при возвращаемом значении вызова showModalDialog
.
Это прекрасно работает, когдадокумент диалога и нижележащая страница загружаются из одного домена происхождения.Как это обычно бывает в Интернете, когда домен диалогового окна не совпадает с доменом страницы, возвращаемое значение из showModalDialog
всегда равно undefined
.
Я развлекался, передавая флаг из диалогового окна нижележащемуокно по-разному.К счастью, мы ориентируемся на браузеры, которые все поддерживают postMessage
, но диалог JavaScript, похоже, не получает значение для window.opener
, поэтому я не думаю, что он может получить ссылку на окно, поэтому оно может опубликовать сообщение.Внедрение обходного решения iframe, подобного этому , невозможно с нашей базой кода, потому что это потребовало бы от нас установки документов получателей iframe на нескольких сайтах, которые могут открыть этот же диалог.
Есть ли лучший способчтобы у нас был диалог с начальными страницами, не требующими перезагрузки?