在我的流星反应应用程序中,我嵌入了一些YouTube视频。这些在调试模式下的所有设备上都可以正常工作,但在生产环境中(我无法使用 Chrome Inspect 对其进行调试(,视频不会显示在移动设备上。在浏览器中,它总是完美运行。
在我的实现中,我首先使用一个简单的 iframe 来嵌入视频。这不起作用,所以我尝试使用 react-youtube 包,它通过 Youtube-API 访问视频。这产生了完全相同的行为。
我该如何解决这个问题?
这可能是 CORS 错误,但添加
App.accessRule('youtube.com');
App.accessRule('http://*');
App.accessRule('https://*');
到我的移动配置.js没有帮助。然后,我尝试将browser-policy
包添加到我的项目中,并通过添加来修复它在浏览器中抛出的所有错误
BrowserPolicy.content.allowOriginForAll("www.youtube.com"); //the www. was important
BrowserPolicy.content.allowOriginForAll("s.ytimg.com");
BrowserPolicy.content.allowMediaDataUrl();
到 Meteor.startup(( 函数,但这在移动平台上也没有结果。
您必须允许对服务器 URL 之外的资源进行特定访问。
在mobile-config.js
文件中添加以下规则(此文件应位于根项目目录中(:
App.accessRule('youtube.com');