使用 MVC5 允许来自不同域的帧

Allow frame from different domain with MVC5

我正在尝试使用 MVC5 将 google 地图加载到 iframe 中,但我被错误阻止了

Refused to display 'https://www.google.com/maps?cid=XXXXX' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

经过大量搜索,我尝试了以下方法:

有什么我想念的吗?我如何摆脱这个 http header(或至少将其更改为允许地图)?

更新

我刚刚检查了发送的 header,它们是正确的,因为它们要么说

X-Frame-Options: ALLOW-FROM https://www.google.com

或者如果我删除该属性但保留 global.ascx 更新

,则根本不存在

然而,当我 运行 页面并看到这些 header 时,它仍然给我 SAMEORIGIN 错误。

事实证明我完全愚蠢并且误解了 x-frame-options 的工作原理。这是为了阻止您的网站页面通过 iframe 显示在另一个网站上。

所以我为 SAMEORIGIN 获取的 x-frame-options http header 实际上来自 google。我以为 url 从他们的位置返回 api 我可以直接使用它,但显然你只能 link 到它。

创建一个新的地图 api 键并启用地图嵌入 api,我可以使用 place_id 并将以下 url 调用到 iframe :

https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY&q=place_id:PLACE_ID

这会显示我没有得到 header(或对我的 header 做任何额外的事情)。

我会把它留在这里,以防有人像我一样愚蠢