Accessing IFrame



当我尝试访问iframe时,我收到此错误,我不确定我做错了什么。有人可以帮助我解决这个问题吗?

var ifrm = document.getElementById('iframe'),
ifrm = (ifrm.contentWindow) ? ifrm.contentWindow :
                              (ifrm.contentDocument.document)
                            ? ifrm.contentDocument.document :
                              ifrm.contentDocument;
ifrm.open();
ifrm.write("Hello World!");
ifrm.close();

这些是我收到的错误:

捕获的类型错误:无法读取未定义的属性"文档"

捕获的类型错误:无法读取未定义的属性"readyState"

您正在寻找 DOM 元素:

<iframe>

iframe 是 HTML 标记的名称,而不是此元素的 id 的值(定义为 id="value"),因此您需要使用:

document.getElementsByTagName('iframe')[0]

如果页面上有多个 iframe,请将 0 更改为所需的任何索引,因为 getElementsByTagName() 将返回一个结果数组,即使页面上只有一个 iframe。

此外,您可以按如下方式简化三元运算:

ifrm = ifrm.contentWindow ? ifrm.contentWindow.document : ifrm.contentDocument;

通过这种方式,您可以在所有浏览器中获取 iframe 的文档对象,这将使您能够访问 open()、write() 和 close() 方法以及 readyState 属性。

把javascript源代码放在标签后面。

喜欢这个

<html>
<head>
</head>
<body>
<iframe>
<script>
blah blah
</script>
</body>
</html>

相关内容

  • 没有找到相关文章

最新更新