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

Это пример кода, который у меня есть на моей странице

<!DOCTYPE html>
<html lang="en" dir="ltr">

  <script src="https://www.netapp.com/us/static/js/jquery-1.8.1.min.js"></script>
  <body>
    <p>
<button class="bcls-button" onclick="playVideo()">Play Video</button>
<button class="bcls-button" onclick="pauseVideo()">Pause Video</button>
</p>
<div class="n-container">
            <div class="n-row">
                <div class="n-col-md-12">

<h2>Advanced (non-iFrame):</strong></h2>

<iframe src="//players.brightcove.net/260701648001/FcmqUildl_default/index.html?videoId=5448507890001" allowfullscreen="" webkitallowfullscreen="" mozallowfullscreen="" style="width: 640px; height: 360px;"></iframe>
</div></div></div>
<script>

var cid = "12345";
var theProtocol = location.protocol,
theURL = theProtocol + "//players.brightcove.net",
// Get a reference to the iframe element
iframeTag = document.querySelector("iframe"),    
// Retrieve window object needed for postMessage
win = iframeTag.contentWindow;
console.log('theURL:', theURL);
console.log('win:', win);

function playVideo() {
// Post message passing 'playVideo' as the data
win.postMessage(cid, theURL);
}

function pauseVideo() {
// Post message passing 'pauseVideo' as the data
win.postMessage("pauseVideo", theURL);
}

</script>

  </body>
</html>

Код плагина добавляется в проигрывателе Brightcove согласно этой ссылке https://support.brightcove.com/brightcove-player-sample-playpause-video-iframe-parent

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);
});

Это работаетхорошо, когда я нажимаю на PlayVideo.Мне нужно сделать эту работу под нагрузкой.Если я вызываю функцию PlayVideo в готовом документе, выдается сообщение об ошибке «Не удалось выполнить postMessage» в «DOMWindow»: указан целевой источник ('http://players.brightcove.net') не соответствует источнику окна получателя (' * 1011).*

Есть идеи?

...