2014-09-05 33 views
1

我有這樣的代碼,因爲他們在iframe改變它成功地跟蹤網址:onclick v no onclick;如何得到的結果沒有點擊

<html> 
<body> 
<iframe src="start.php"></iframe> 
<a href="#" onclick="alert(frames[0].location);">Get Link.</a> 
</body> 
</html> 

當「獲取鏈接」點擊就可以顯示正確的鏈接。當用戶在iframe內導航到另一個頁面時(在同一臺服務器上),並且再次單擊「獲取鏈接」時,它將顯示當前的iframe網址。

但我需要得到的iframe網址,而不必'點擊'的東西。

當我這樣做:

<html> 
<body> 
<iframe src="start.php"></iframe> 
<script>alert(frames[0].location)</script> 
</body> 
</html> 

警報消息稱「有關:空白」

我怎樣才能使用「框架[0] .location」傳遞到一個變量的iframe位置是可以通過父頁面讀取而無需使用onclick函數?

+0

可能的重複:http://stackoverflow.com/questions/938180/get-current-url-from-iframe – 2014-09-05 21:19:05

+0

你想要得到它,如果沒有點擊?你的意思是定期提醒URL嗎? – LcSalazar 2014-09-05 21:30:13

+0

你好拉杜,我試過的代碼,我得到的是「關於:空白」... LcSalazar,我想要的是將URL讀入PHP變量$ url = iframe_url;然後在頁面的另一部分,使各種圖像的外觀出現在iframe URL正在被查看的位置......最近我已經到了上面。它會得到正確的鏈接名稱,但是如果我無法將結果讀入變量,我不能將結果讀入變量中。我可以基於條件事件...感謝回覆 – user3697638 2014-09-05 21:38:58

回答

0

試試這個

alert(frames[0].contentWindow.location.href); 
0

你可以在你需要它的代碼直接frames[0].location使用。或者將其封裝在函數中。它不會直接在<script>標記中顯示,因爲iframe當時尚未加載。無論何時在代碼中查詢frames[0].location,它都應該在該確切時間提供iframe的位置對象

+0

「每當你在你的代碼中查詢幀[0] .location它應該給位置iframe的對象在那個確切的時間「...所以我會怎麼做呢?frames ['frame name here。]位置?感謝回覆 – user3697638 2014-09-05 21:53:56

+0

我不確定我是否理解這個問題。使用這個'location'?你必須在某處做某事?所以,只要你想使用iframe的位置,只需調用frames [0] .location。在你的例子中,它是空白的,因爲當時你想使用它的iframe沒有加載,所以它沒有任何價值。假設在某一點你想傳遞的iframe位置的值,你只需要通過幀[0]。地址 – jonasnas 2014-09-05 22:36:27

+0

我的意思是點擊作品爲你,因爲不同timing。腳本立即執行並且iframe尚未加載並單擊事件需要一些時間,直到你指向你的鼠標,並在那個時候加載iframe。 – jonasnas 2014-09-05 22:40:48