2010-09-14 85 views
1

我有一个这样的网页...访问的iFrame网址与jQuery/JavaScript的

<div> 
<iframe id="mainContent"> 
<iframe id="littleBox"> 
</div> 

,我想做到这一点...

$(".someButton").live('click', function() { 
     alert(/*The URL That the Main Frame is ON*/); 
}); 

我发现这一点:$("#mainFrame").get(0).location.href,但它不工作...

另外,我需要它返回当前的网址,所以如果有人浏览它应该返回它们所在的当前页面。

+0

这里同样的问题问:http://stackoverflow.com/questions/44359/how-do-i-get-the-current-location-of-an-iframe – epascarello 2010-09-14 04:42:07

回答

13

好了,你的意思是,你必须从孩子的iframe访问父的网址是什么?

$("#mainFrame").get(0).contentWindow.location 
+0

父框架(在我的例子中的无标题的div)需要访问子iframe的CURRENT url。问题是,在从子iframe的起始url导航到不同的url之后,我仍然获取了子iframe的原始起始URL。 – Jason 2010-09-15 02:49:05

+0

我更新了我的答案。 :) – xar 2010-09-15 13:20:10

+0

酷 - 伟大的作品。感谢+1 – Jason 2010-09-20 02:15:09

0

iframe.src不工作?或者,你是否想要获取父文档?在这种情况下,您只能使用parent

+1

不,它不需要工作。它只返回原始值。 – Jason 2010-09-14 03:10:40

0

由于Azmisov说iframe.src的伎俩

<head runat="server"> 
    <title>iframe Test</title> 
    <script type="text/javascript"> 
     function ShowURLs() { 
      var control = document.getElementById("mainContent"); 
      alert("iframe source = " + control.src); 
      alert("this page = " + location.href); 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <input type="button" id="someButton" value="Click Me" onclick="ShowURLs()" /> 
     <div> 
      <iframe id="mainContent" src="Test.aspx" /> 
      <iframe id="littleBox" /> 
     </div> 
    </div> 
    </form> 
</body> 
+2

不,它不。 iframe.src返回原始网址。在你的情况下,即使你离开Test.aspx,它也会返回Test.aspx作为src。只需将Test.aspx上的链接添加到SomethingElse.aspx,然后再次单击该按钮...所需的输出将为SomethingElse.aspx。 – Jason 2010-09-14 03:06:15

+0

行 - 我发布了一个不同的答案,适用于我:) – JumpingJezza 2010-09-15 04:13:09

0
document.getElementById('mainContent').contentWindow.location.href