获取包含iframe的div

时间:2009-05-26 22:58:28

标签: javascript iframe

我有这个结构:

<div id="source1">
    <iframe src="foo.html"></iframe>
</div>
<div id="source2">
    <iframe src="foo.html"></iframe>
</div>

如果我在foo.html中有一些js代码,有没有办法告诉它在哪个div(没有在iframe代码中添加参数)?

1 个答案:

答案 0 :(得分:2)

来自foo.html,您可以使用parent获取父窗口;一旦你在那里,你可以将每个iframe的contentWindow属性与this进行比较 - 匹配的是你。

在父母中搜索所有iframe是最困难的部分;使用像jQuery这样的库可以很容易地编写代码,但是这里很快就会被黑客攻击:

var mycontainer;
var iframes = document.getElementsByTagName("iframe");
for (var iter = 0; iter <iframes.length; iter++){
    if( iframes[iter].contentWindow && iframes[iter].contentWindow === window){
        mycontainer = iframes[iter].parentNode;
    }
}