用于检查Null Iframe的跨浏览器解决方案

时间:2012-03-24 13:18:30

标签: javascript

我现在很长一段时间都在努力,最后我不得不发帖询问,因为到目前为止我还没有收到任何相关答案。

我需要检查Null Iframe并相应地调用一个函数。我正在寻找以下三行代码的替代品,以便能够在所有浏览器中工作,而不仅仅是在IE中。

if (this.document.frames != null ) {
    for (var i=0;i<this.document.frames.length;i++){
        if (this.document.frames[i] != null ) {

PS:我不能使用getElementbyId或getElementsByTagName,因为我的代码中的IFrame是动态创建的。 对不起我的知识,但我对Javascript很新,似乎现在尝试了太多东西:(

提前多多感谢..

1 个答案:

答案 0 :(得分:0)

只要在将元素添加到DOM之后查找元素,您仍然可以使用getElementbyIdgetElementsByTagName来动态添加元素。

换句话说,只有当你找到它们时,你才能找到它们。

var iframes = document.getElementsByTagName('iframe'); // notice this is not 'frame'

var length = iframes.length;
var currentIFrame;
var counter;

for (counter = 0; counter < length; counter += 1) {
    currentIFrame = iframes[counter];

    // do stuff with currentIFrame
}

http://jsfiddle.net/fuEsw/