如何获取 iframe 响应标头?

Posted

技术标签:

【中文标题】如何获取 iframe 响应标头?【英文标题】:How to get iframe response headers? 【发布时间】:2013-06-19 11:05:33 【问题描述】:

有没有办法获取 iframe onload 的响应标头?

我已经用谷歌搜索过了,但我真的找不到有用的东西!

【问题讨论】:

您需要根据以下答案向您的 iframe url 发出 ajax 请求:***.com/questions/220231/… 【参考方案1】:

不是真的。如果 iframe 在同一个域中,您可以访问它的文档对象,其中包含一些有用的信息,例如document.referrer,但是如果不对 URL 发出 Ajax 请求,您就无法拦截完整的 HTTP 标头。这意味着再次请求 URL。例如:

$.ajax(  url: $(#myFrame).attr('src'), success: function(r,x)
    console.log( x.getResponseHeader('SomeHeader') );
  );

这仅在 iframe src 与调用脚本位于同一域时才有效。

【讨论】:

谢谢您,但问题是您无法再次调用该页面。如果你这样做,你会收到一个错误,上面写着not available 你在做一些非常规的事情。期待拦截器。 我根本不知道你做了什么。 进行不可重复的多部分 POST 有什么不同寻常的地方?【参考方案2】:

如果您可以控制加载的 iframe 资源,则可以将 postMessage 请求中的标头内容转储到主窗口。

【讨论】:

为此,加载到框架中的页面内的 javascript 必须读取标题,正如 amost a decade ago 指出的那样,这是不可能的。 如果您启用了 php,您可以将所有标题硬打印为 javascript。

以上是关于如何获取 iframe 响应标头?的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中获取响应标头值? [复制]

如何从 Angular 2 响应中获取所有标头?

如何从角度 6 中的“响应标头”获取 JWT 令牌

使用 Moya 获取响应标头

Sencha Touch 2 如何获取响应标头

Angular 4.3.3 HttpClient:如何从响应的标头中获取值?