我有一个应用程序,我需要发布到iframe并获取内容。我有一个load
处理程序从框架中获取innerHTML
,但以下引发错误:
var frameDoc = frame.contentDocument || frame.contentWindow.document;
我知道这可能会阻止XSS攻击,但我认为这应该只在域名不同时发生。我已经检查过并仔细检查过; iframe的域名与网页的域名匹配,但我仍然无法获取相应的内容。
在什么情况下,同域iframe访问仍会导致此错误?
答案 0 :(得分:0)
尝试在Chrome中进行调试。在我的情况下,错误消息明确指出我在父框架中明确设置document.domain
,并且这证明是必要的,即使父框架的默认document.domain值应该是已经正确了!
即,我必须在父文档中添加它:
document.domain = document.domain;