Javascript 使用跨源文档获取showModalDialog结果

Javascript 使用跨源文档获取showModalDialog结果,javascript,cross-domain,showmodaldialog,Javascript,Cross Domain,Showmodaldialog,我们的网站使用了showModalDialog。根据对话框中的操作,我们可能希望也可能不希望重新加载打开对话框的页面。我们通过将对话框JavaScript设置为window.returnValue为true或false,然后底层页面在调用showModalDialog的返回值中检查该值 当对话框文档和基础页面从同一个源域加载时,这可以正常工作。与web的典型情况一样,当对话框的域与页面的域不匹配时,showModalDialog的返回值总是undefined 我喜欢以不同的方式将标志从对话框传递

我们的网站使用了
showModalDialog
。根据对话框中的操作,我们可能希望也可能不希望重新加载打开对话框的页面。我们通过将对话框JavaScript设置为
window.returnValue
true
false
,然后底层页面在调用
showModalDialog
的返回值中检查该值

当对话框文档和基础页面从同一个源域加载时,这可以正常工作。与web的典型情况一样,当对话框的域与页面的域不匹配时,
showModalDialog
的返回值总是
undefined

我喜欢以不同的方式将标志从对话框传递到底层窗口。幸运的是,我们的目标浏览器都支持
postMessage
,但是对话框JavaScript似乎没有获得
window.opener
的值,因此我认为它无法获得对窗口的引用,因此无法发布消息。在我们的代码库中实现一个是不可行的,因为它需要我们在多个站点上安装iframe收件人文档,这些站点都可以打开同一个对话框


有没有更好的方法可以让对话框与跨来源打开的页面进行通信,而无需重新加载这些页面?

我可能已经找到了自己的答案。据我所知,如果我将开场白文档和对话框文档的
document.domain
属性设置为相同的值,我应该能够访问此信息。由于两者都位于同一根域名的子域内,因此应该可以工作。如果我尝试了这个方法,并且成功了,我会接受这个答案