0

当我试图从外部资源中检索一些数据时,我遇到了一些有趣的事情。当我将它与我自己的网站一起使用时,它可以正常工作,但使用外部资源却不能。

   doc = parent.Frame2.document;  
   alert(doc);  

来源Frame2是执行此脚本的网站主页,我收到消息“对象 HTML 文档”

但是,例如,当我将源更改为另一个时

它是:
<frame name='Frame2' src="mysite.com'> 我把它改成了:

<frame name="Frame2" src="http://cnn.com"/>   

得到了"undefined"。这是为什么?谁能解释一下?

我也尝试过 contentDocumentwindowDocument 正如在一堆类似问题中所描述的那样,但仍然没有运气。我只是初学者,我希望有人能向我解释,或者建议我可以用来在这件事上取得成功的其他方法,我也希望有人会觉得它有用。

感谢大家!

4

1 回答 1

0

您遇到的是同源策略

这是防止恶意网站访问其他网站的私有数据的安全功能,适用于XMLHttpRequest<iframe>s。

实现成功的方法是使用您的服务器通过一些脚本代理页面,或设置CORS
CORS 主要适用于XMLHttpRequest(我认为浏览器在<iframe>s 中忽略它)并要求您控制服务器发送给您要从中检索数据的 HTTP 标头,因为您需要发送允许您的站点(或所有通配符的网站*)。

于 2013-04-04T12:09:46.990 回答