YouTube iframe не отвечает на команды postMessage - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь управлять iframe YouTube с помощью команд postMessage от родителя, но, похоже, это не работает.

По ряду причин я не использую API YouTube, простообычный iframe со встроенным видео на YouTube.

<iframe id="video-player" :src="'https://www.youtube.com/embed/' + code + '?autoplay=1'"
  seamless sandbox="allow-scripts allow-same-origin allow-presentation"></iframe>

Способ отправки команд:

var iframe = document.getElementById('video-player');
iframe.contentWindow.postMessage(JSON.stringify(
  { event: 'command', func: 'pauseVideo' }), 'https://www.youtube.com');

Кажется, что iframe выбран правильно, но яя не уверен, отправляются ли команды postMessage, так как видео игнорирует их.

¿Что я делаю не так?

1 Ответ

0 голосов
/ 24 мая 2018

Я нашел решение.URL-адресу YouTube требуется параметр запроса "enablejsapi = 1".

<iframe id="video-player" :src="'https://www.youtube.com/embed/' + code + '?autoplay=1&enablejsapi=1'"
  seamless sandbox="allow-scripts allow-same-origin allow-presentation"></iframe>

Таким образом, он корректно слушает команды postMessage ().

...