【问题标题】:Error when trying to 'Unloading/Removing content from an iFrame'尝试“从 iFrame 卸载/删除内容”时出错
【发布时间】:2014-06-10 03:20:37
【问题描述】:

我正在尝试从 iFrame 中删除内容,但我收到了这个 SO 问题:Unloading/Removing content from an iFrame。 问题是,当我尝试编写给出的解决方案时,我在 FireBug 的调试控制台上收到此错误:Permission denied to access property 'document'

我正在做的是这样的:

    var frame = document.getElementById("idFrame"),
        frameDoc = frame.contentDocument || frame.contentWindow.document; //error here
    frameDoc.removeChild(frameDoc.documentElement);

这里有什么问题?我做错了什么?

当我尝试做同样的错误:

$("#amadeusFrame").contents().find("body").html('');

【问题讨论】:

  • 跨域访问?如果是,Same-origin policy 会阻止对 iframe 的访问。
  • 就像@Teemu 所说的那样 - 阅读第三条评论以获取有关问题 Teemu 链接的已接受答案。如果你想清除 iframe 中的所有内容,当然可以试试我的解决方案。

标签: javascript html iframe


【解决方案1】:

这很正常。试试:

var frame = document.getElementById("idFrame");
frame.src = "about:blank";

您不能使用 iframe 的内容,因为它会成为 XSS 攻击的载体。
仅当 iframe 源与包含文档位于同一域中时,您才能执行此操作。

【讨论】:

    猜你喜欢
    • 2010-11-21
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多