Meu Canal no Youtube
Último Vídeo do Canal
/* Uso de !important para evitar sobreposição por plugins */
/* Prefixo único para evitar conflitos de CSS */
.yt_latest_video_container {
max-width: 600px !important;
margin: 0 auto !important;
border-radius: 12px !important;
overflow: hidden !important;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2) !important;
line-height: 0 !important;
position: relative !important;
padding-bottom: 56.25% !important; /* Proporção 16:9 */
height: 0 !important;
}
.yt_latest_video_iframe {
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background-color: #000 !important;
}
.yt_latest_video_loading {
position: absolute !important;
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%) !important;
padding: 20px !important;
text-align: center !important;
color: #666 !important;
background-color: #f9f9f9 !important;
border-radius: 8px !important;
width: 80% !important;
}
// Função autoinvocada para evitar conflitos de escopo
(function() {
// Função para adicionar script à página de forma que o WP Rocket não atrapalhe
function loadScript(src, callback) {
var script = document.createElement('script');
script.async = true;
script.type = 'text/javascript';
script.src = src;
script.setAttribute('data-no-minify', '1');
script.setAttribute('data-no-lazy', '1');
script.setAttribute('data-no-defer', '1');
if (callback) {
script.onload = callback;
}
document.body.appendChild(script);
}
// Função para carregar o último vídeo do canal
function loadLatestVideo() {
// Chave de API do YouTube
const API_KEY = 'AIzaSyA0zjSytx58MlXa2dqGx-7qokiJjgo1cjA';
// ID do canal do YouTube
const CHANNEL_ID = 'UCZmXLt7oxGHX6vMVz6Xl0_A';
const videoWrapper = document.getElementById('yt_latest_video_wrapper');
// Criando uma nova XMLHttpRequest para evitar que o WP Rocket interfira em fetch
var xhr = new XMLHttpRequest();
xhr.open('GET', `https://www.googleapis.com/youtube/v3/search?key=${API_KEY}&channelId=${CHANNEL_ID}&part=snippet,id&order=date&maxResults=1&type=video`, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status 0) {
const videoItem = data.items[0];
const videoId = videoItem.id.videoId;
// Criar o iframe do vídeo
videoWrapper.innerHTML = `
`;
} else {
videoWrapper.innerHTML = '
Nenhum vídeo encontrado
';
}
} catch (error) {
console.error('Erro ao processar dados do vídeo:', error);
videoWrapper.innerHTML = '
Erro ao carregar o vídeo
';
}
} else {
console.error('Erro na requisição:', xhr.status);
videoWrapper.innerHTML = '
Erro ao carregar o vídeo
';
}
};
xhr.onerror = function() {
console.error('Erro de rede na requisição');
videoWrapper.innerHTML = '
Erro de conexão
';
};
xhr.send();
}
// Inicializar quando o DOM estiver pronto
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', loadLatestVideo);
} else {
loadLatestVideo();
}
})();
Inscreva-se