拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”
Posted
技术标签:
【中文标题】拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”【英文标题】:Refused to get unsafe header "AMP-Access-Control-Allow-Source-Origin" 【发布时间】:2017-12-28 10:27:45 【问题描述】:我在 iframe 中带有 Google 地图的页面中使用 amp-iframe
。该页面运行良好,并且在我尝试过的所有浏览器上都可以通过验证,MacOS 上的 Safari 除外。
我在控制台中收到此错误:
Refused to get unsafe header "AMP-Access-Control-Allow-Source-Origin"
我尝试将这些标头添加到我的服务器:
Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Headers AMP-Access-Control-Allow-Source-Origin
Header set Access-Control-Expose-Headers AMP-Access-Control-Allow-Source-Origin
Header set AMP-Access-Control-Allow-Source-Origin https://example.com
但是,我仍然看到同样的错误。它只发生在 Safari 中。似乎与 CORS 有关。有人可以帮忙吗?
【问题讨论】:
基于此link,使用 CORS 时仅暴露 simple response headers。 Safari 10 中还有一个reported bug。但是,据说它不应该影响应用程序的运行时。这只是log 的console.error
。
如果您仍然遇到此问题,您能否发布指向该问题的示例页面的链接?
【参考方案1】:
我在嵌入 Google 日历时遇到了类似的问题,当我将 allow-scripts
和 allow-same-origin
添加到 sandbox
属性时,它得到了解决。此示例来自<amp-iframe>
文档:
<amp-iframe
sandbox="allow-scripts allow-same-origin"
layout="responsive"
frameborder="0"
src="https://www.google.com/maps/embed/v1/place?key=AIzaSyDG9YXIhKBhqclZizcSzJ0ROiE0qgVfwzI&q=iceland">
</amp-iframe>
如果这不能解决您的问题,您能否编辑您的问题以包含您的 <amp-iframe>
代码以便我们提供帮助?
【讨论】:
以上是关于拒绝获取不安全的标头“AMP-Access-Control-Allow-Source-Origin”的主要内容,如果未能解决你的问题,请参考以下文章
拒绝获取不安全的标头“x-parse-job-status-id” - Vue.js 和 Parse Server
使用 Google Chrome 的 xmlHttpRequest 时拒绝设置不安全的标头“Origin”