访问“pre"标签,在iframe中加载来自不同域的页面

Accessing "pre" tag in an iframe loading a page from different domain

本文关键字:加载 iframe pre quot 标签 访问      更新时间:2023-09-26

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

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

访问标签。

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

虽然JavaScript受到阻止与另一个域交互的跨域策略的限制,但只要您能够接受某些限制,就有一个潜在的解决方案。

通过使用,比如 PHP和它的cURL库,你可以从任何地方抓取页面的内容(甚至是一个安全的页面或需要登录的页面,只要你有凭据)。然后,您可以解析页面,编辑所需内容,并在您自己的站点中显示它。但是,重要的是要认识到,这只是您自己的页面的本地副本。您将无法真正更改页面本身的内容。

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

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

你不能。出于安全考虑,浏览器有跨域策略。

如果我将facebook页面包含在iframe中,我可以获得你的所有信息,因为你总是连接到它?