;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Podcast

Futebol Sem Fronteiras

O jogo por trás do jogo. Com Jamil Chade e Julio Gomes


OPINIÃO

Futebol sem Fronteiras #53: Penta, 20 anos: Bastidores de quem viu de perto

Do UOL, em São Paulo

09/06/2022 17h00

Há 20 anos, Cafu exaltava o Jardim Irene em uma das cenas mais icônicas da Copa do Mundo. Em um dos momentos de maior glória para um jogador de futebol, o capitão da seleção brasileira celebrou sua origem humilde ao erguer a taça, no capítulo final da conquista do penta. Um título que coroou a ressurreição de Ronaldo, artilheiro do Mundial e autor dos gols da vitória por 2 a 0 na final contra a Alemanha, consagrou o técnico Luiz Felipe Scolari e rendeu várias histórias marcantes.

No podcast Futebol sem Fronteiras #53 (ouça na íntegra no episódio acima), o colunista Julio Gomes e o correspondente internacional Jamil Chade conversaram com os jornalistas Decio Lopes e Diogo Kotscho, que participaram da cobertura da seleção brasileira naquela Copa, disputada na Coreia do Sul e no Japão.

Kotscho e Lopes fizeram parte de uma equipe montada pelo Guaraná Antarctica, um dos patrocinadores da seleção brasileira. Uma das missões era registrar os bastidores da equipe, para o torcedor se sentir mais próximo dos jogadores. Vale ressaltar que era uma época sem redes sociais e, por consequência, com um volume muito menor de registros compartilhados com o público em comparação aos dias atuais.

Lopes destacou um dos momentos mais marcantes de seu trabalho junto à seleção. "O Felipão, já na reta final dos mata-matas, decidiu que precisaria fazer uns vídeos motivacionais. Tenho muito orgulho por ter feito o vídeo de motivação a que a seleção assistiu antes da final da Copa e ser campeã. Também ajudei a fazer vídeos de tática com ele, principalmente para mostrar jogadas de bola parada", contou.

Os vídeos vistos pelos jogadores antes da final e da semifinal, ambos feitos por Lopes, ficaram famosos e tiveram duas músicas marcantes: 'Festa', de Ivete Sangalo, e 'Deixa a Vida me Levar', de Zeca Pagodinho. "Essas músicas se tornaram os hinos da seleção campeã. Eu escolhi a da Ivete, e o Scolari a do Zeca. Ele veio com essa música na cabeça, porque já a tinha ouvido no ônibus, com os jogadores fazendo um samba. Um dia, entre 50 músicas tocando, ele gostou da letra por achar que descrevia perfeitamente o que são esses jogadores e a mensagem que quero ar", lembrou Lopes.

A chegada do Brasil à final do Mundial de 2002 trouxe novamente à tona as lembranças da traumática decisão da Copa anterior, quando Ronaldo teve uma convulsão horas antes da partida, mas mesmo assim foi a campo. O assunto, que até então não havia sido abordado, foi lembrado de uma forma, digamos, cômica, como revelou Kotscho.

"Foi pouco noticiado na época, mas houve um terremoto no meio da madrugada, um dia antes da final. Nosso hotel ficava no pico de uma montanha perto de Yokohama. Deu para sentir o terremoto dentro dos quartos. Saímos para os corredores e aí pintou a piada: o Ronaldo deve ter sentido de novo o que teve em 98", disse, para risada geral. Brincadeiras à parte, Kotscho falou que o problema sofrido por Ronaldo em 98 não era um assunto proibido. "Ninguém nunca deu instrução para não tocar no assunto", frisou.

Dois dos principais destaques da seleção brasileira na campanha do penta não estavam totalmente confiantes no que poderiam produzir na Coreia do Sul e no Japão, como mostrou Lopes. "Ronaldo e Rivaldo chegaram à Copa em dúvida sobre as próprias condições físicas deles. O Ronaldo estava voltando de uma lesão gravíssima e muita gente dizia que ele havia acabado para o futebol. Ele fez um trabalho incansável de recuperação. O médico do Barcelona, um mês antes da Copa, disse para o Rivaldo que ele precisaria operar o joelho. Ele não operou e foi para a Copa", completou.

Ouça o podcast Futebol sem Fronteiras e confira também como a polêmica sobre a ausência de Romário na lista de Felipão de certa forma contribuiu para um acerto estratégico com Kaká. E descubra qual foi a estratégia usada por Felipão para unir o elenco.

Não perca! Acompanhe os episódios do podcast Futebol sem Fronteiras todas as quintas-feiras às 16h no Canal UOL.

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts e em todas as? plataformas de distribuição de áudio. Você pode ouvir Futebol Sem Fronteiras, por exemplo, no Spotify, Apple Podcasts e Youtube —neste último, também em vídeo.