API YouTube заблокирован в PhoneGap - PullRequest
1 голос
/ 03 мая 2019

Я пытался загрузить видео Youtube внутри приложения cordova / phonegap с помощью YouTube API v3, но приложения продолжают утверждать, что API не загружен. Хотя он работает внутри приложения для разработки PhoneGap, он выглядит как проблема с конфигурацией или чем-то подобным.

Файл config.xml должен был предоставить доступ к API:

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
<plugin name="cordova-plugin-whitelist" spec="~1.3.3" />

И index.html содержит метатег securty:

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline' ajax.googleapis.com apis.google.com; script-src 'self' 'unsafe-inline' 'unsafe-eval'">

И код JS:

var checkYT = setInterval(function () {
  if(YT.loaded){
    clearInterval(checkYT);
  }
}, 100);

window.onYouTubeIframeAPIReady = function () {
};

var tag = document.createElement('script');

tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

Я попробовал также плагин CordovaYoutubeVideoPlayer от JonSmart, но безуспешно: (

Я не хочу iframes, потому что я хочу сохранить собственный контроль над видео.

1 Ответ

0 голосов
/ 09 мая 2019

Решено!

index.html должен содержать следующую строку безопасности:

<meta http-equiv="Content-Security-Policy" content="default-src *  data: blob: 'unsafe-inline' 'unsafe-eval'">
...