;(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

Aos 50 anos, Cafu ainda tem recordes na seleção e em Copas intactos

Ex-lateral-direito disputou as finais das edições de 1994, 1998 e 2002 da Copa do Mundo e ergueu a taça no Japão - Reuters/John Sibley
Ex-lateral-direito disputou as finais das edições de 1994, 1998 e 2002 da Copa do Mundo e ergueu a taça no Japão Imagem: Reuters/John Sibley

Do UOL, em São Paulo

07/06/2020 04h00

O multicampeão Cafu completa 50 anos hoje (7).

Longe do futebol profissional desde 2008, ele foi um dos laterais direitos mais importantes da história e acumula marcas impressionantes que até hoje se mantêm intactas, por clubes, seleção brasileira e até na Copa do Mundo - ele é bicampeão, em 1994 e 2002.

O ex-jogador hoje é embaixador de marcas de criptomoedas e relógios e de uma cervejaria, além de representar entidades como Fifa, Uefa, Laureus e Special Olympics em grandes eventos, como o lançamento da Copa do Mundo do Qatar. Cafu teve uma fundação beneficente por 16 anos, mas ela fechou as portas em dezembro de 2019.

Em relação aos feitos do ado, só Pelé venceu a Copa mais do que Cafu. O Rei soma três títulos, enquanto o ex-lateral tem duas taças na estante, mesma quantidade de mais 12 lendas brasileiras (inclusive Ronaldo, seu contemporâneo), quatro italianos e um argentino. Quer saber mais curiosidades sobre os recordes de Cafu? O UOL Esporte preparou um levantamento no dia do aniversário do capitão do penta.

Sua estreia foi em 12 de setembro de 1990, em uma derrota da seleção brasileira para a Espanha. Na ocasião, o jogador ainda atuava pelo São Paulo e foi escalado como ponta-direita por Paulo Roberto Falcão. Ele se despediu após a eliminação nas quartas de final da Copa do Mundo de 2006 para a França. Foram seis títulos em 150 partidas.

O único em três finais

Nenhum outro jogador na história atuou em três finais consecutivas da Copa do Mundo. Em 1994, aos 24 anos, Cafu substituiu o machucado Jorginho aos 21 minutos do primeiro tempo na final contra a Itália. Em 1998, jogou o tempo todo na derrota por 3 a 0 para a França. Já em 2002, faturou o bi como capitão. Essa marca resistirá por pelo menos mais seis anos.

Mais vitórias em Copas

Com quatro edições da Copa do Mundo no currículo, Cafu é quem mais atuou (20 partidas) e mais venceu (16 vitórias) na história da seleção brasileira no torneio. Ele também tem um empate e três derrotas. No total de seus jogos com a Amarelinha, são 92 vitórias, 38 empates e apenas 20 derrotas - um aproveitamento próximo de 70%.

Títulos em todo lugar

Cafu defendeu apenas seis clubes na carreira até deixar o Milan, em 2008. Ele começou no São Paulo e já foi campeão paulista no primeiro ano como profissional, em 1989. Foram dez títulos em cinco anos, inclusive um Campeonato Brasileiro, duas Libertadores e dois Mundiais. Em 1995, ele foi vendido ao Real Zaragoza, da Espanha, pelo qual foi campeão da Recopa Europeia. No mesmo ano, ele defendeu o Juventude por dois jogos como ponte para o Palmeiras, que tinha o mesmo patrocinador do time gaúcho - foi uma forma de driblar uma cláusula imposta pelo São Paulo.

No Palmeiras, o lateral foi campeão paulista. Depois, negociado com a Roma, acabou campeão italiano. De 2003 a 2008, ele ainda defendeu o Milan e recheou a galeria de títulos com a Liga dos Campeões da Europa 2006/2007 e mais um Italiano. São 18 títulos em 19 anos de carreira.

Veja imagens da carreira de Cafu: