2011-08-29 176 views
0

可能重复:
need to run javascripts on iframe which loads an external domain搜索跨域iFrame?

这似乎是它只是不应该是一个棘手的问题,但显然它。

我只是有一个简单的页面,使用iframe嵌入其他网站位于不同的服务器上(cnn.com,例如)。

现在父页面上,我只是希望能够搜索的iFrame的某个单词,并将它告诉我,如果这个词是目前的iFrame网页上。举例来说,如果cnn.com是我的iframe页面,我可能希望父页面告诉我iframe页面上是否出现“Irene”这个词。到目前为止,我只是无法得到这个工作。

这可能吗?它是否被相同的原产地政策所禁止? 任何变通建议?

我很感激!如果该事项

回答

0

父页面无法访问IFRAME的内容,或任何框架。否则,您可以在一个框架中打开任何页面,例如Facebook个人资料,并在恶意网站上阅读它的内容。

你需要控制的远程站点,如果你想操纵IFRAME里面发生了什么注入搜索逻辑存在。

0

没有什么,你可以用JavaScript做,因为same origin policy的。

您可以访问内容的唯一方法是如果您在服务器上使用代理来抓取页面并在您的域上重新显示它。

0

做安全方面的考虑,你不能接取的浏览器内anothers I帧的内容。

如果你完全设定了这样做,你可以使用cross domain jQuery plugin

然后,您可以使用雅虎的服务器作为代理来执行以下操作。

$('#container').load('http://google.com'); // SERIOUSLY! 

$.ajax({ 
    url: 'http://news.bbc.co.uk', 
    type: 'GET', 
    success: function(res) { 
     var headline = $(res.responseText).find('a.tsh').text(); 
     alert(headline); 
    } 
}); 

James Padolsey对此进行了博客here