Вот сценарий для демонстрации
Повторный запуск скрипта несколько раз, вы увидите следующее сообщение ? Yay we got the error 150
появляется только иногда.Я ожидаю, что ошибка будет появляться каждый раз.
Я немедленно загружаю YT API componentDidMount
function loadYTIframeAPI() {
var tag = document.createElement("script");
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
Я создаю экземпляр проигрывателя после завершения запроса ajax
new window.YT.Player(`player${id}`, {
events: {
onReady: e => {
console.log("onReady", e.data, e.target.a.id);
this.setState({ readyData: "ready" });
if (index === 0) {
console.log("play");
e.target.playVideo();
}
},
onError: e => {
// this should fire every time but only fires sometimes ?
console.log("onError", e.data, id);
this.setState({ errorData: e.data.toString() });
}
}
});
Я отображаю видео iframe с
<iframe id="player512347" src="https://www.youtube.com/embed/AmtOraYA4p0?enablejsapi=1&origin=https://fiddle.jshell.net&autoplay=1" frameborder="0"></iframe>