获取iframe对象的最佳方法

时间:2010-05-20 07:36:17

标签: javascript html iframe

我们在网络应用程序中使用了太多的iframe。在这些iframe中,我们加载的页面也可能包含iframe等,最多可达N级。

现在我正在使用递归函数来查找JavaScript中所需的iframe对象。它工作正常,问题是当我们创建大型动态页面时,其中可能包含多达1000个iframe。在这种情况下,我的递归函数需要花费太多时间来查找所需的iframe对象。

我如何克服这个问题,或者这些是JavaScript中递归的替代方法。

由于

1 个答案:

答案 0 :(得分:1)

尝试在onload之前立即将所有iframe注册到一个数组中(当用户仍在等待时)。这样你就不必组装所有的iframe,只有这样才能通过它们。 在页面底部......

< /html>
< script>iframes=document.getElementsByTagName("iframe")< /script>

仍然不确定你是如何识别每个iframe的 - 所以如果你正在搜索特定的id或src - 试试这个作为安装数组

< /html>
< script>
iframes=document.getElementsByTagName("iframe")
var iframe_stuff=[]
var i=0
while(iframes[i])
{
iframe_stuff[i]=[]
iframe_stuff[i]["id"]=iframes[i].id
iframe_stuff[i]["src"]=iframes[i].src
i++
}< /script>

因此,当您需要通过iframe时,列表数组已准备就绪。还记得在找到你想要的iframe后使用'break'。如果您找到的iframe位于第4位,则break会停止搜索,而不会检查其余的...