在从外部加载的 iframe 中进行更改



>我正在尝试获取指向所有图像的链接,并使用iframe中的单击事件复制它们,但它是从外部服务器src加载的。我尝试使用contentDocumentcontentWindow.document访问 iframe 中的标签。在第一种情况下,我得到空值,在第二种情况下 - "阻止具有原点的帧访问跨源帧"。

有没有办法访问此 iframe 并更改其内容?

有没有办法访问这个 iframe 并更改其内容?

是的,通过浏览器消息,如果您能够通过 postMessage 返回。然而,iFrame在构建时考虑了安全性,沙盒是一种方式。

它从外部服务器 SRC 加载。

如果您可以从此处将消息发布到 iframe,请在 iframe/应用程序中收听它,告诉应用程序获取您需要的数据并将其发布回外部服务器 - 这就是我们使用 iframe 的方式,但它的前端不是服务器端,如果它的服务器端......必须有另一种解决方案。

iframe 沙盒上的--disable-web-security是一个您可以使用的标志,但不建议这样做。

"同源"政策规定:

  • 如果我们引用了另一个窗口,例如由 window.open 创建的弹出窗口或 内部窗口 ,并且该窗口来自同一来源,那么我们可以完全访问该窗口。
  • 否则,如果它来自另一个来源,那么我们就无法访问该窗口的内容:变量、文档等。唯一的例外是位置:我们可以更改它(从而重定向用户)。但是我们无法读取位置(所以我们看不到用户现在在哪里,没有信息泄漏)。

最新更新