2010-09-02 40 views
1

由于页面正文中的onload子句,我在javascript函数中找到自己的自我。我如何确定我所在的框架的名称?我不知道这个ID。如何检索框架名称

+0

iframe文档或父文档中的onload? iframe和父文档共享相同的域('www.mydomain.com'+'www.mydomain.com')还是不同('www.mydomain.com'+'subdomain.mydomain.com'或' www.google.com') – Andrew 2010-09-02 01:30:58

+0

我使用框架,而不是iframe。父级和框架的域是相同的。 onload在框架文档中。 – 2010-09-02 01:33:21

回答

2

我已经使用框架已经很长时间了,但我认为您需要循环浏览父文档中的框架,直到您发现框架与文档的全局对象this相同。一旦你知道这一点,通常只需获取标签的ID即可。这样做的一种方法是:

for (var i = 0; i < parent.frames.length; i++) { 
    if (parent.frames[i] === this) { 
     alert(parent.frames[i].id) 
    } 
} 
+0

@andrew:typo ===我添加了警报以显示this.name(空白),this.id(未定义)parent.frames [i] .name(显示的框架名称)&parent.frames [i] .id(undefined) )()中显示的结果。 ==永远不会满足。这些框架具有唯一的名称和ID。什么样的小部件是'这个'?我还为框架添加了标题,但无法看到。我可以得到知道id ala alert的框架的名称(document.getElementById(“navid”)。name); – 2010-09-02 13:14:52

+0

啊===是JS运算符,但它不起作用。就好像.frames不包含像id和title这样的东西。在Mozilla,IE和Opera上的行为相同。 – 2010-09-02 13:41:09

+0

奇怪。它为我工作。你用什么浏览器测试?你有在线任何地方的样本吗? – Andrew 2010-09-02 16:44:13