相同的域,但仍收到“访问属性'文档'的权限被拒绝”

Same domain but still getting "Permission denied to access property 'document'"

本文关键字:访问属性 文档 权限 拒绝 属性 访问      更新时间:2023-09-26

我有一个应用程序,我需要发布到iframe并获取内容。我有一个从帧获取innerHTMLload处理程序,但以下问题会引发错误:

var frameDoc = frame.contentDocument || frame.contentWindow.document;

我知道这可以防止XSS攻击,但我的印象是这应该只在域不同时发生。我已经检查并仔细检查;iframe 的域与页面的域匹配,但我仍然无法获取框架内容。

在什么情况下,同域 iframe 访问仍会导致此错误?

尝试在 Chrome 中进行调试。就我而言,错误消息足够明确,可以指示我在父框架中显式设置document.domain,即使父框架的默认 document.domain 值应该已经正确,这也是必要的!

即,我必须在父文档中添加以下内容:

document.domain = document.domain;