youtube.js
const searchTerm = document.querySelector('.search');
const searchForm = document.querySelector('form');
const submitBtn = document.querySelector('.submit');
const section = document.querySelector('section');
window.onload = onClientLoad;
function onClientLoad() {
gapi.client.load('youtube', 'v3', onYouTubeApiLoad)
}
function onYouTubeApiLoad() {
gapi.client.setApiKey('AIzaSyDjtFukI0pv7QB2lyz98HbRIeDJK7OeRHI');
searchForm.addEventListener('submit', search);
}
function search(e) {
e.preventDefault();
let request = gapi.client.youtube.search.list({
part: 'snippet',
maxResults: 10,
q: searchTerm.value
});
request.execute(onSearchResponse);
}
function onSearchResponse(response) {
while (section.firstChild) {
section.removeChild(section.firstChild);
}
let results = response.items;
for(let i = 0; i < results.length; i++) {
displayVideo(results[i], i);
}
}
function displayVideo(result, i) {
let vid = document.createElement('div');
vidId = 'vid' + i;
vid.id = vidId;
section.appendChild(vid);
let player = new YT.Player(vidId, {
height: '360',
width: '480',
videoId: result.id.videoId,
events: {
'onReady': onPlayerReady
}
});
function onPlayerReady(e) {
let myId = e.target.a.id;
let duration = e.target.getDuration();
if(duration === 0) {
console.log('Video ' + myId + ' cannot be played, so it was deleted.');
section.removeChild(e.target.a);
} else {
console.log('Video ' + myId + ' ready to play.');
}
}
}
Last updated