Я лениво загружаю видео Wistia, и они вставляются в DOM после щелчка изображения.Я пытаюсь обработать видео, чтобы приостановить видео, когда начинается воспроизведение нового видео, но обратный вызов Wistia API не запускается.
function getAllVideos() {
window._wq = window._wq || [];
console.log(window._wq)
window._wq.push({
id: "_all",
onEmbedded: function(video) {
console.log('inside ready');
}
})
console.log(window._wq)
}
Я всегда получаю пустой массив.Wistia.api.all()
также возвращает пустой массив.Это может быть из-за асинхронности?Я делаю инъекцию iframe, вызывая API Wistia следующим образом:
$slide.getJSON('http://fast.wistia.com/oembed/?url=http://home.wistia.com/medias/' + embed + '&format=json')
.then(res => {
var thumbnail = new Image(); // create image to hold thumbnail
thumbnail.src = res.thumbnail_url; // set thumbnail source
var videoContainer = document.getElementById('slick-slide0' + i); // each slide get video container
videoContainer.appendChild(thumbnail);
videoContainer.innerHTML += '<div class="play-button"></div>';
var slider = document.getElementById('slick-slide-control0' + i);
// on click of each image, create iframe, remove image, insert iframe
videoContainer.addEventListener('click', function() {
var iframeEmbed = document.getElementById('{{parent_custom_widget_name}}_' + i).innerHTML;
var iframe = document.createElement('iframe');
iframe.setAttribute('frameborder', '0');
iframe.setAttribute('allowfullscreen', 'true');
iframe.setAttribute('src', '//fast.wistia.net/embed/iframe/' + iframeEmbed + '?autoplay=true');
this.innerHTML = '';
this.appendChild(iframe);
getAllVideos();
});
});