Как передать переменную со страницы в Brightcove HTML-плеер при использовании тега Video для видео? - PullRequest
0 голосов
/ 13 ноября 2018

Это страница:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="utf-8">
  <title></title>
  <style media="screen">
    body {
background-color: #111;
color: #fff;
}
  </style>

</head>
<body> 

<script src="https://www.netapp.com/us/static/js/jquery-1.8.1.min.js"></script>
  <video-js id="myPlayerID"
    data-video-id="5448507890001"
      data-account="260701648001"
      data-player="FcmqUildl"
      data-embed="default"
      data-application-id
      class="video-js"
      controls
      width="640"
      height="360"></video-js>
  <script src="https://players.brightcove.net/260701648001/FcmqUildl_default/index.min.js"></script>
  <script type="text/javascript">
    $( window ).load(function() {
      videojs.getPlayer('myPlayerID').ready(function() {
        var cid = "12345";
         var myPlayer = this;
         iframeTag = document.querySelector("iframe").contentWindow;
         iframeTag.postMessage(cid, "*");
      });
    });
  </script>

</body>
</html>

Я хочу передать переменную с этой страницы в видео Brightcove, добавленное с помощью тега video.

Я добавил код ниже как плагин вBrightcove.

videojs.registerPlugin('listenForParent', function() {
var myPlayer = this;
// This method called when postMessage sends data into the iframe
function controlVideo(evt){
console.log("evt.data" + evt.data)
};
// Listen for the message, then call controlVideo() method when received
window.addEventListener("message",controlVideo);
});

Это выдает ошибку. Невозможно прочитать свойство 'contentWindow' с нулевым значением.Я имел в виду этот пример https://support.brightcove.com/brightcove-player-sample-playpause-video-iframe-parent, который объясняет, как передать переменную из страницы в iframe.

Как мы можем передать переменную, когда у нас есть видео, добавленное с помощью тега Video. Любая идея?

...