....
var divParent = document.createElement('div');
divParent.className = 'youtube_player_wrapper';
divParent.innerHTML = setupVideoHTML(playerInfo);
....
function setupVideoHTML(playerInfo){
return '<picture> \
<source srcset="https://i.ytimg.com/vi_webp/' + playerInfo.videoId + '/maxresdefault.webp" type="image/webp"> \
<img class="youtube_player_image" src="https://i.ytimg.com/vi/' + playerInfo.videoId + '/maxresdefault.jpg" alt="' + playerInfo.alt + '"> \
</picture> \
';
}
window.videoApiLoaded = [];
window.videoApiLoaded.youtube = false;
function loadYoutubeVideo(videoId) {
window.onYouTubeIframeAPIReady = function() { document.dispatchEvent(new CustomEvent('onYouTubeIframeAPIReady', {})) };
if(window.videoApiLoaded.youtube == false) {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
window.videoApiLoaded.youtube = true;
}
var player;
document.addEventListener('onYouTubeIframeAPIReady', function (e) {
player = new YT.Player('player', {
height: '400',
width: '600',
videoId: videoId,
events: {
'onStateChange': onYtStateChange
}
});
}, false);
}
Ленивую загрузку реализовать довольно просто.
<iframe id="player1" class="youtube_player" frameborder="0" allowfullscreen="1" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" title="YouTube video player" width="640" height="360" src="https://www.youtube.com/embed/_k9TlsI102g?controls=0&disable=1&modestbranding=1&rel=0&showinfo=0&enablejsapi=1&widgetid=1"></iframe>
undefined
1) а функция не может вывести hqdefault?
2) Окей, я могу создать div и в блоке функции fetch_highest_res, но опять же, мне нужен только hqdefault, так как там будет "вызов" не просто картинки, а описан тег picture, который имеет не только формат jpg, но и webp.