2011-10-18 169 views
4

我在我的html頁面中有一個iframe,我想從此iframe中打開的頁面訪問一些內容。使用JavaScript訪問跨域iframe元素

<table border="1" width="100%" height="100%"> 
    <tr> 
     <td id = "freebase_td"> 
     <iframe id = "freebase_frame" src="http://www.freebase.com/view/en/angelina_jolie" width="100%" height="400px"></iframe> 
     </td> 
    </tr> 
</table> 

在這個網頁的源代碼,

<h1 id="page-title"> 
    Angelina Jolie 
    </h1> 

我想ID爲「網頁標題」訪問h1標籤內容使用JavaScript。有可能嗎?

+1

可能的重複http://stackoverflow.com/questions/364952/jquery-javascript-accessing-contents-of-an-iframe – spicavigo

+0

頁面是在兩個單獨的域?那麼,上面的頁面和[http://www.freebase.com/view/en/angelina_jolie](http://www.freebase.com/view/en/angelina_jolie)? –

+0

你不能。谷歌「相同的來源政策」,看看爲什麼。 –

回答

4

您應該首先閱讀關於browser's same-origin policy。這樣可以防止來自某個框架或窗口或某個來源的iframe的javascript訪問另一個框架中的內容或腳本,而這些內容或腳本的來源不同。因此,如果您的iframe與您的腳本頁面不同,那麼它不能直接訪問iframe的內容。

如果您有最新的瀏覽器之一,並且您對兩個框架進行了編碼以便合作(這意味着您必須控制兩個框架中的JavaScript代碼),因此可以使用一個名爲window messaging的新功能,可用於在框架之間傳遞信息來自不同的起源。

+0

得到了解決方案,謝謝你們:) –

+5

你有什麼解決方案saxena? – hfarazm