首页 > 解决方案 > Youtube 播放器在生产版本中不起作用

问题描述

我正在尝试在我的网络应用程序中实现一个 youtube 播放器。为此,我使用了以下反应库

反应-youtube https://github.com/troybetz/react-youtube

我已经实现了它并在本地主机中工作,没有任何问题。但它在生产版本中停止工作。它给出如下错误

Refused to load the script 'https://www.youtube.com/iframe_api' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'script-src' was not explicitly set, so 'default-src' is used as a fallback.

是什么原因造成的,我该如何解决?

标签: javascriptreactjsyoutubeyoutube-apicontent-security-policy

解决方案


这很可能是因为您的生产服务器只允许您嵌入来自其自身来源的脚本,或者script-src 'self'.

这是使用Content-Security-Policy作为响应标头、HTML 元标记或manifest.json文件来完成的。请与设置此 CSP 的网络检查员联系。如果您在 CloudFront 或其他内容网络上运行,则需要对其进行配置以允许它。

您需要扩展它以允许 YouTube,例如。像这样扩展它script-src 'self' youtube.com;


推荐阅读