2014-07-16 66 views
-1

我在第一頁上有一個鏈接(我們稱之爲index.php)。我正在使用JavaScript嘗試重新加載另一個iframe中的iframe。在另一個iframe中定位iframe

我想...

$("#link1").click(function() { 
    document.getElementById('iframe2').src = 'thepage.php'; 
}); 

但是,這僅僅是尋找在該鏈接的頁面的該iframe。我正在嘗試創建它,以便它查找位於父頁面的iframe中的第二個iframe。我該怎麼做呢?它甚至有可能嗎?

+0

這不是重複的。您提到的另一個問題是指同一頁面中的兩個iframe。這個是關於iframe和iframe(兩個單獨的頁面)的。 – user2284703

+1

user2284703是正確的。這不應該被標記爲重複。 – rayryeng

+0

它會改善此問題,以包含顯示問題的HTML示例。請參閱:http://stackoverflow.com/help/mcve –

回答

0

你不能做你想做的事情,iframes只是不這樣工作。他們將文檔嵌入到文檔中;它們不會使它們成爲文檔的一部分。

您必須將腳本放在第一個iframe的頁面上。如果您無法訪問該文檔,那麼您就無能爲力。

+0

如果是這樣的話,OP就不會說他已經解決了這個問題...... @HaukurHaf也是如此,因爲他還發布了一個解決方案。 – rayryeng

+0

就是這樣,OP要求做的事違反了跨站點腳本政策,他從來沒有說過他是成功的,他說他找到了一個解決方案,可能是@HaukurHaf給出的解決方案,這涉及到我所說的,可以訪問iframe中的文檔。 – ShemSeger

+0

我的歉意。我誤讀了。 – rayryeng

1

您可以使用window.parent和使用window.top最頂層的父級從iframe中訪問父文檔。

一旦您有權訪問父級,您可以從那裏訪問其他iframe。

實施例:

$('#link1').click(function(){ 
    $('#iframe2', window.parent.document).attr('src','thepage2.php'); 
}); 

這應該搜索iframe2元件,其包含LINK1元素的文檔的父文檔,並改變它的src屬性。

注意:只有當所有iframe指向同一個域(全部在您的控制下)時,纔會生效。否則,您違反了跨站腳本政策。

+0

你值得讚賞。 – ShemSeger