Javascript 将document.domain与iframe-document.domain进行比较

Javascript 将document.domain与iframe-document.domain进行比较,javascript,jquery,iframe,cross-domain,Javascript,Jquery,Iframe,Cross Domain,我有一个page=parent,其中包含一个具有不同域的iview=child,我想使用JavaScript在它们之间进行通信。我已经可以通过手动设置子a.foo.bar的document.domain和其父b.foo.bar的document.domain来实现这一点,以便它们在foo.bar=domain之后具有相同的域。这很有效。实际上我不能这样做,但它已经由子对象的默认实现完成了。之后,我可以通过放置在父体中的JavaScript来操作child的内容。我只有一个问题:家长不知道孩子的d

我有一个page=parent,其中包含一个具有不同域的iview=child,我想使用JavaScript在它们之间进行通信。我已经可以通过手动设置子a.foo.bar的document.domain和其父b.foo.bar的document.domain来实现这一点,以便它们在foo.bar=domain之后具有相同的域。这很有效。实际上我不能这样做,但它已经由子对象的默认实现完成了。之后,我可以通过放置在父体中的JavaScript来操作child的内容。我只有一个问题:家长不知道孩子的document.domain是否已设置为与家长的document.domain匹配。我无法更改子对象的JavaScript,以便在其域放松后立即发送事件=从a.foo.bar更改为foo.bar

我的问题是:是否有一种方法可以让父级使用JavaScript/jQuery检查子级的域是否等于它自己的域?如果这是不可能的:如果域不匹配,是否有办法尝试,在不引发权限拒绝错误的情况下,家长是否有权限访问孩子的文档

提前谢谢你的帮助

问候,,
René

首先您说您正在手动设置孩子的document.domain,然后您说您无法更改孩子的JavaScript。那么,是哪一个?您能否更改iframe的代码?无论如何,我认为你应该使用postMessage作为通信信号。至于您的问题-不,无法读取跨来源iframe/窗口的文档位置,因为这违反了同一来源政策。很抱歉,我没有说清楚。我不能改变孩子的执行方式。但它默认实现了域松弛。我可以做些什么来确定是否允许我访问childs文档而不会导致错误,比如try{iframe.document;permissiongrated=true;}catch{permissiongrated=false;}或者更好的是,如果没有try/catch,我就可以访问childs文档{…}这是一个复杂的问题:。查看以下问题和答案: