2013-10-06 111 views
0

我使用下面的代碼來獲取當前網址,以及它在我的域的正斜槓後的哈希ID。我想要獲取當前加載到iframe中的頁面的URL,這意味着當然沒有地址欄。我會如何去做這件事?我可以在沒有地址欄的情況下獲取當前網址嗎?

的代碼,我現在使用:

var currentURL = (document.URL); 
var part = currentURL.split("SLASH")[1]; 
alert(part); // alerts "XdAs2" !!! 
+0

框架的網址與其他網頁完全相同。網址與地址欄無關。 – SLaks

+0

由於下面有幾個有效的答案適用於不同的場景:您是否嘗試從**內**或**外** iframe中檢索iframe的URL? –

+0

好的問題,從裏面。 – Brandon

回答

1

出於安全考慮,您只能獲得url只要iframe的內容,並引用了JavaScript,從同一個域提供。只要是真的,這樣的事情會工作:

document.getElementById("iframe_id").contentWindow.location.href 

如果兩個域不匹配,你會遇到跨站點腳本參考安全限制。

+0

他正在尋找*'加載到iframe中的頁面的當前URL'*,而不是父框架afaics的URL。否則你是對的,但從他的描述來看,他只需要'window.location'。 –

+0

只是要完成,從框架頁面使用top.location.href ... – dandavis

0

如果使用jQuery的一個iframe你可以做

$('iframe').attr('src') 

例如:

http://jsfiddle.net/aFX8b/

+0

OP沒有在他的問題中提及jQuery,所以請不要假設它可用。此外,這可以很容易地在普通的JS中完成。而OP真正要求的是'window.location'。 – nietonfir

+0

@nietonfir,抱歉,jquery標記在他的問題中做了什麼:) –

+0

確實是個好問題...touché! :P – nietonfir

0

當前的URL總是在window.location,無論是在iframe內或根框架瀏覽器。 window對象始終引用當前視口。

Demonstration

相關問題