1

유성 반응 앱에 일부 유튜브 비디오가 포함되어 있습니다. 디버그 모드의 모든 기기에서 정상적으로 작동하지만 프로덕션에서는 Chrome Inspect를 사용하여 디버깅 할 수 없습니다. 동영상은 휴대 기기에 표시되지 않습니다. 브라우저에서는 항상 완벽하게 작동합니다.유성 : 유튜브 비디오가 iOS 및 안드로이드 프로덕션에서 표시되지 않습니다.

내 구현에서는 먼저 간단한 iframe을 사용하여 비디오를 포함 시켰습니다. 이것은 작동하지 않으므로 Youtube-API를 통해 동영상에 액세스하는 react-youtube 패키지를 사용해 보았습니다. 이것은 똑같은 행동을 나타냈다.

어떻게 해결할 수 있습니까?

IT는 CORS 오류하지만 도움이되지 않았다 내 모바일-config.js에

App.accessRule('youtube.com'); 
App.accessRule('http://*'); 
App.accessRule('https://*'); 

를 추가 할 수 있습니다. 그때 나는 내 프로젝트에 browser-policy 패키지를 추가하고 Meteor.startup() 함수

BrowserPolicy.content.allowOriginForAll("www.youtube.com"); //the www. was important 
BrowserPolicy.content.allowOriginForAll("s.ytimg.com"); 
BrowserPolicy.content.allowMediaDataUrl(); 

를 추가하여 브라우저에서 던진 모든 오류를 수정 시도했지만이 또한 모바일 플랫폼에 대한 결과가 없었다.

+0

당신이이 문제를 해결 했습니까? – MastaBaba

+0

아닙니다. 나는 "반응 플레이어"라는 또 다른 플러그인을 사용했는데 ... – Taxel

+0

고마워. 나는 다른 플러그인을 사용하여 끝났다 : https://stackoverflow.com/questions/44170489/how-to-play-youtube-videos-inside-meteor-in-cordova/44460295#44460295 – MastaBaba

답변

0

서버 URL 외부의 리소스에 대한 특정 액세스를 허용해야합니다.

mobile-config.js 파일에 다음과 같은 규칙을 추가합니다 (이 파일은 루트 프로젝트 디렉토리에 있어야합니다) :

App.accessRule('youtube.com');

+0

답변 주셔서 감사하지만 불행히도 작업. 내가 추가 한 'App.accessRule ('youtube.com');' 그리고 그 후에도 작동하지 않았다. 또한 'http : // *''와' 'https : // *'를 규칙으로 추가했다. 효과가 없었다. – Taxel

+0

나는 본다. 글쎄, 문제가 iOS 기기에만있는 경우 보안 사이트 (htpps)가되어 서버에서 YouTube 사이트의 http 사이트를 호출하지 않는지 확인하십시오. iOS는 보안되지 않은 사이트에 대한 연결을 차단합니다. 작동하지 않는다고 말하면 휴대 기기에서 플레이어 미리보기 창이 표시됩니까? – Ruben

+0

문제는 Android 기기에서도 발생합니다 (실제로는 디버그 만 할 수 있지만 iOS에서도 문제가 발생한다고 들었습니다). 플레이어 미리보기가 표시되지 않습니다. 사실 전혀 렌더링이 없습니다. 다른 HTML이 플레이어가있는 공간 아래에 렌더링된다는 것만 볼 수 있습니다. 여기에서 iframe은 지정된 크기로 만들어 지지만 그 프레임 안의 페이지는로드되지 않는다고 결론을 내립니다. – Taxel