2010-09-14 43 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