2011-10-18 126 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