使用"same-origin"跨域策略与maps.googleapi.com。

3
我正在一个Web应用程序中使用谷歌地图API,据我所知,只能通过脚本标签进行加载:<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key={your_api_key}&libraries=drawing,geometry"></script>。 由于一个使用pthread支持构建的WebAssembly模块新功能,我们将不得不调整我们应用/站点的CORS策略,因为SharedArrayBuffer受到Meltdown/Spectre的影响: SharedArrayBuffer is affected by Meltdown/Spectre
"Cross-Origin-Embedder-Policy": "require-corp"
"Cross-Origin-Opener-Policy": "same-origin"

这对于几乎所有应用程序都有效,但由于googleapis CDN未将“Access-Control-Allow-Origin”标头设置为“*”,因此现在它被阻止了。

是否有一种方式可以启用它或通过使用Google的另一个CDN / 终端点来解决问题?


使用条款要求您从其端点(带有CORS限制)使用Google Maps API v3。 - geocodezip
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

为了让这个工作正常运行,我做了两件事情。

  1. 接受了现在无法使用SharedArrayBuffer的事实,并修改了代码,使其能够在不使用pthreads和SharedArrayBuffer的情况下构建
  2. 联系了谷歌支持团队关于CORS策略问题

一段时间以前,我收到了谷歌支持团队的电子邮件,称他们现在已经在端点上添加了适当的CORS规则,所以现在应该可以正常工作。

然而,我没有测试它,因为我不再需要它,但希望其他开发人员不会再遇到谷歌地图API和CORS的麻烦。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,