【问题标题】:Same domain but still getting "Permission denied to access property 'document'"相同的域,但仍然获得“访问属性'文档'的权限被拒绝”
【发布时间】:2015-01-12 21:20:22
【问题描述】:

我有一个应用程序,我需要在其中发布到 iframe 并获取内容。我有一个load 处理程序,它从框架中获取innerHTML,但以下会引发错误:

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

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

什么情况下同域iframe访问还会导致这个错误?

【问题讨论】:

  • 尝试在 Chrome 中调试。就我而言,错误消息足够明确,足以让我在父框架中明确设置 document.domain,即使父框架的默认 document.domain 值应该已经正确,这也是必要的!
  • 是的,我的两个文档也在同一个域中
  • @BrettZamir 如果这是真的,那应该是一个答案

标签: javascript iframe


【解决方案1】:

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

也就是说,我必须在父文档中添加这个:

document.domain = document.domain;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多