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

Cafu rebate polêmica com argentinos: "Estava na arquibancada com youtubers"

Roberto Carlos, Ronaldinho, Cafu, Ronaldo e Dida acompanham Argentina x Croácia - Reprodução/Instagram
Roberto Carlos, Ronaldinho, Cafu, Ronaldo e Dida acompanham Argentina x Croácia Imagem: Reprodução/Instagram

Do UOL, em Doha (Qatar)

15/12/2022 09h05

Classificação e Jogos

Vários jogadores da geração do penta que estão em Doha, no Qatar, foram criticados pelo comportamento durante as partidas do Brasil na Copa do Mundo. Filmados várias vezes pela transmissão internacional, nomes como Cafu, Ronaldo, Kaká, Roberto Carlos e Rivaldo estavam vestindo terno, sentados em um camarote ao lado de chefes de Estado.

As críticas se acentuaram quando atletas argentinos que também estão no Mundial foram flagrados pulando nas arquibancadas, já sem terno e aparentemente muito mais envolvidos com o clima da torcida. Estavam entre eles ex-atletas como Sorín, Batistuta e Zanetti.

Hoje (15), Cafu aproveitou a participação na Legends Cup, competição organizada pela Fifa para ex-jogadores que estão em Doha, para rebater essa polêmica.

"Cara, por incrível que pareça, foi bom você ter feito essa pergunta. Espero que vocês não cortem e coloquem essa resposta do jeito que estou dando. No dia que mostraram os jogadores da Argentina torcendo para a Argentina na tribuna, eu estava na arquibancada, gravando conteúdo com os youtubers, alguns brasileiros. Eu, Cafu, estava no meio da arquibancada, no meio da torcida enquanto os argentinos estavam no camarote", afirmou o capitão do penta. "Somos torcedores fanáticos, amo o Brasil, amo grandes jogos e o futebol", completou.

Com a final definida entre França e Argentina, Cafu disse que vai torcer pelos hermanos no domingo por causa do bom Mundial que tem feito Lionel Messi.

"É possível, porque eu vou torcer para o Messi e, torcendo para o Messi, automaticamente você torce para a Argentina. O Messi vem fazendo uma competição importante, chamou a responsabilidade. Argentina perdeu o primeiro jogo e todo mundo começou a criticar o Messi. De uma hora para outra, ele chamou a responsabilidade e falou: deixa comigo. Sempre fui fã dos grandes jogadores, os jogadores que fazem diferença no futebol. E o Messi é um deles".