Это страница:
<!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. Любая идея?