Javascript - 检查框架是否为空 - > TypeError:e为null

时间:2015-08-19 12:55:59

标签: javascript html

我试图检查框架" content1"和" content3"是空的还是没有,然后再调整它们。

但是我收到了一个错误:

  

" TypeError:e为null"

2.2.1

https://jsfiddle.net/ecytve7w/8/

3 个答案:

答案 0 :(得分:0)

引用你的jsfiddle,这似乎是doctype的一个问题。将小提琴选项下的DTD更改为" HTML 4.01框架集"似乎纠正了这个问题。

似乎框架元素在文档中不存在。 getElementsByName不会返回它们,我尝试更改内容以使用ID并遇到同样的问题。

答案 1 :(得分:0)

显然body contentDocument的{​​{1}}不存在(null)(这是错误消息中的content3)。

也许你可以通过

检查你的框架是否为空
e

并将其命名为:

function isEmpty(frame) {
 return null === frame.contentDocument.body;
}

左右..

答案 2 :(得分:-1)

当您取消引用未定义的值时,您描述的类型错误会发生。

在这种情况下,我假设getElementsByName(content3)或[0]之后返回一个未定义的值,然后您尝试调用.contentDocument,这会导致错误。

我建议使用你的调试器,检查是否

document.getElementsByName("content3") 

document.getElementsByName("content3")[0]

已定义。

关于如何查找元素是否未定义,有一些很好的问题。 like this one