繁体   English   中英

访问iframe中的“pre”标记,从不同的域加载页面

[英]Accessing “pre” tag in an iframe loading a page from different domain

我正在尝试将一个页面加载到iframe中。 当加载该页面时,我希望编辑加载文档内的“pre”标签的内容。 加载的文档来自另一个域。 我正在使用:resultframe是iframe

var atag= document.getElementById("resultframe").contentWindow.document.getElementsByTagName('pre');
 atag[0].innerHTML="done";

访问标签。

问题:这句话似乎没有效果。 我需要知道正确的语法,还可以访问从不同域加载的页面元素。 我从网上获得了语法,还有一些变体。 请建议。

虽然JavaScript受到阻止与其他域交互的跨域策略的限制,但只要您可以忍受某些限制,就有一种可能的解决方法。

通过使用PHP和它的cURL库之类的 东西 您可以从几乎任何地方获取页面内容(即使是安全页面或需要登录的页面,只要您有凭据)。 然后,您可以解析页面,编辑所需内容,并在您自己的站点中显示它。 但是,重要的是要意识到这只是您自己的页面本地副本 您将无法真正改变页面本身的内容。

另一种可能需要访问您希望编辑的域的可能性是使用可以接受PUT请求形式编辑的Web服务 您可以通过Web服务实现更多功能,但必须在您希望对其进行更改的所有目标域上提供。

在不久的将来, XMLHttpRequest Level 2可能会成为现实,并将带来跨域资源共享(CORS) CORS将允许一个域上的Web应用程序向另一个域发出跨域AJAX请求。 目标域将有一个标题,明确允许来自另一个域的请求。 潜在地,这可以用于将编辑发送到另一个站点。

你不能。 出于安全原因,浏览器具有跨域策略。

如果我将facebook页面包含在iframe中,我可以获取所有信息,因为您始终与它连接,该怎么办?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM