我有这个结构:
<div id="source1">
<iframe src="foo.html"></iframe>
</div>
<div id="source2">
<iframe src="foo.html"></iframe>
</div>
如果我在foo.html中有一些js代码,有没有办法告诉它在哪个div(没有在iframe代码中添加参数)?
答案 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;
}
}