Javascript 如何从主窗口中的iframe访问内容

Javascript 如何从主窗口中的iframe访问内容,javascript,jquery,iframe,Javascript,Jquery,Iframe,如何从主窗口中的iframe访问内容 我正在使用一个iframe将表单发布到不同的域,我想访问iframe返回的数据,我可以将它附加到我的主窗口中 当我尝试访问iframe元素时,会出现错误“拒绝访问”。如果它们位于不同的子域上,但您可以控制这两个域,解决方案是将以下内容添加到脚本标记中: document.domain='example.com' 然后你可以在这些iFrame之间聊天。$(“#frameDemo”).contents().find(“a”).css(“背景色”,“BADA55”

如何从主窗口中的iframe访问内容

我正在使用一个iframe将表单发布到不同的域,我想访问iframe返回的数据,我可以将它附加到我的主窗口中


当我尝试访问iframe元素时,会出现错误“拒绝访问”。

如果它们位于不同的子域上,但您可以控制这两个域,解决方案是将以下内容添加到脚本标记中:

document.domain='example.com'

然后你可以在这些iFrame之间聊天。

$(“#frameDemo”).contents().find(“a”).css(“背景色”,“BADA55”);
<script>$("#frameDemo").contents().find("a").css("background-color","#BADA55");</script>

如果
iframe
和主页具有不同的域,则无法从另一个访问

您可以使用适用于现代浏览器(IE8+)的
window.postMessage
window.name
hack在两者之间交换字符串数据,如果您必须支持较旧的浏览器


另一种选择是像您一样发布到其他域,但提供
id
。然后使用主页上的
setInterval
使用此
id
JSONP
进行轮询,以获得响应。

可能重复您试图如何访问它?@greg感谢您的响应我正在以这种方式访问var myIFrame=document.getElementById(iFrameName);var content=myIFrame.contentWindow.document.body.innerHTML;如果子域是不同的,例如:
sub1.domain.com
sub2.domain.com
,而不是域,这将起作用。