2017-07-22 40 views
1

我在iframe中的Google地图页面中使用amp-iframe。该页面正常工作,并在我尝试的所有浏览器上进行验证,除了MacOS上的Safari。拒绝获取不安全标题“AMP-Access-Control-Allow-Source-Origin”

我得到这个错误在控制台:

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相关。任何人都可以帮忙

+0

基于此[链接](https://stackoverflow.com/a/5837798/5832311),只有[简单回复标题](https://www.w3.org/TR/cors/#simple-response - 使用CORS时暴露。 Safari 10中还有一个[报告的bug](https://github.com/webcomponents/webcomponentsjs/issues/407)。但是,据说它不应该影响应用程序的运行时间。这是'console.error'的[日志](https://github.com/webcomponents/webcomponentsjs/blob/7911bb7827474999b46aec95606b6a246bb5d745/src/HTMLImports/xhr.js#L35-L44)。 – abielita

+0

如果您仍然遇到此问题,您是否可以发布包含问题的示例页面的链接? – Andrew

回答

0

我在嵌入Google日历时遇到了类似问题,当我将allow-scriptsallow-same-origin添加到​​属性时,它解决了问题。该样本来自<amp-iframe> DOC:

<amp-iframe width="200" height="100" 
    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>代码,以便我们可以帮助?

相关问题