iframe 内容窗口

Posted

技术标签:

【中文标题】iframe 内容窗口【英文标题】:Iframe ContentWindow 【发布时间】:2011-06-13 13:02:00 【问题描述】:

当我尝试从 iframe 中获取内容窗口时,使用

var contentWindow = document.getElementbyId('iframe').contentWindow 

有时它会返回“Window undefined”,因为 contentWindow 不存在。我似乎无法使用

对其进行检查
if (contentWindow === unidentified) or if (contentWindow === null)

因为如果我尝试从中获取值,它只会在代码中出错。有没有其他人遇到过这个问题并想出了解决方案?

【问题讨论】:

unidentified 让我笑了 :) 我们曾经都是初学者。 【参考方案1】:

尝试从您在此处调用的对象中指定您想要的数据

var contentWindow = document.getElementById('iframe')

这样做

var contentWindow = document.getElementById('iframe').contentWindow

这对我有用

【讨论】:

【参考方案2】:

你输入正确吗? getElementByID 不是 getElementbyId。在查询contentWindow 之前,您确认返回一个元素了吗?加载后查询吗?

在 DOM 准备好或页面加载后,您是否在做 gEBI?您是否在元素上发出警报? iframe 中的域是否与源域相同?你用的是什么浏览器?

if (contentWindow === unidentified) or if (contentWindow === null)

没有unidentified 这样的东西,它是undefined。放慢速度,保持准确。

【讨论】:

【参考方案3】:

试试这个

var iframeElem = parent.document.getElementById("iframe");
var win = iframeElem.contentWindow;

【讨论】:

以上是关于iframe 内容窗口的主要内容,如果未能解决你的问题,请参考以下文章

如何将 iframe 的内容复制到弹出窗口中?

javascript 如何获取iframe里面的内容?

iframe根据子页面的内容来设置高度

jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值

如何缩放 iframe 的内容?

将焦点设置为 iframe 内容