gpt4 book ai didi

javascript - 在从不同域加载页面的 iframe 中访问 "pre"标记

转载 作者:行者123 更新时间:2023-11-30 13:10:41 26 4
gpt4 key购买 nike

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

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

访问标签。

问题:这个语句好像没有效果。我需要知道正确的语法,以及我能否访问从不同域加载的页面元素。我从网上获得了语法以及它的一些变体。请提出建议。

最佳答案

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

通过使用类似的东西 PHP and it's cURL library您几乎可以从任何地方抓取页面内容(即使是安全页面或需要登录的页面,只要您有凭据)。然后您可以解析该页面,编辑您需要的内容,并将其显示在您自己的站点中。不过,重要的是要认识到,这只是您自己的页面本地副本。您将无法实际更改页面本身的内容。

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

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

关于javascript - 在从不同域加载页面的 iframe 中访问 "pre"标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13986354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com