访问同源 iFrame 窗口的响应?

Posted

技术标签:

【中文标题】访问同源 iFrame 窗口的响应?【英文标题】:Access the response of a same-origin iFrame window? 【发布时间】:2020-11-25 03:48:33 【问题描述】:

我有 example.com/outer 哪个 iFrames example.com/inner。向example.com/inner 发出 get 请求会返回一个 PDF 响应对象,该对象会自动下载到浏览器。

鉴于这些是同源 iFrame,当 example.com/inner 加载到 example.com/outer 中时,如何使用 javascript / jQuery 将其作为 Blob 访问?

【问题讨论】:

我认为您无法访问响应本身。但是,您可以阅读 dom。 【参考方案1】:

您可以从孩子 -> 父母发送消息。但是,如果子级没有在消息中发送数据,您不能只在父级内部使用 jQuery 来接收数据。

儿童

parent.postMessage("Hello World!, "*");

家长

function listenToChild(event)
    console.log(event);

window.addEventListener("message", listenToChild, false);

【讨论】:

以上是关于访问同源 iFrame 窗口的响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何强制响应式 iframe 目标尊重 iframe 的视口并做出响应,就好像它被直接访问一样?

跨域AJAX

在django中解决跨域AJAX

拒绝网页被 iframe 嵌套

iframe学习之监听窗口

iframe学习之窗口跨域