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

Antony ganha chance na Copa para fazer o que Raphinha ainda não fez

Antony durante Brasil x Suíça: 23 minutos para mostrar serviço ao técnico Tite - Alex Livesey/Danehouse/Getty Images
Antony durante Brasil x Suíça: 23 minutos para mostrar serviço ao técnico Tite Imagem: Alex Livesey/Danehouse/Getty Images
Gabriel Carneiro, Igor Siqueira, Danilo Lavieri e Pedro Lopes

Do UOL, em Doha

02/12/2022 04h00

Classificação e Jogos

A seleção brasileira vai ser escalada só com reservas no jogo de hoje, às 16h (de Brasília), pela terceira rodada da fase de grupos da Copa do Mundo. Contra Camarões, o atacante Antony vai ter a oportunidade de entrar de vez na disputa por posição com Raphinha já pensando no mata-mata.

Raphinha é o único do trio de atacantes titular que ainda não participou de gols no Mundial. Para além disso, ele joga na ponta direita de uma equipe que concentra seus ataques pela esquerda, com Vini Jr. Um número simples resume a seleção "torta" no Qatar: o time cria o dobro de chances de gol do lado de Vini em relação ao lado de Raphinha.

Raphinha chegou à Copa do Mundo como titular por causa do bom desempenho desde que começou a ser convocado há pouco mais de um ano. Foram cinco gols e deu quatro es para gol em só 11 jogos. À frente até de Vini Jr numa possível concorrência, ele secou a fonte no Mundial. Foram três chutes a gol contra Sérvia e Suíça, todos defendidos.

Os dois contra a Sérvia contam como chances perdidas. No primeiro, ele recebeu e de Paquetá livre na área e chutou fraco. No outro, roubou uma bola na entrada da área, também com marcação distante, e finalizou em cima do goleiro. Os lances foram antes de o Brasil marcar os dois gols de Richarlison com participação de Vini Jr.

Raphinha foi substituído contra a Sérvia já no fim, aos 42 minutos do segundo tempo. Já diante da Suíça saiu mais cedo, aos 28 da etapa final. Neste segundo jogo existe uma estatística que chama muito a atenção: o camisa 11 foi opção de e para os companheiros somente 28 vezes. Na comparação com Vini Jr existe um abismo, pois o atacante do Real Madrid se ofereceu 72 vezes. Ou seja, o jogo ofensivo do Brasil se concentrou pela esquerda.

Nesta sexta-feira, Raphinha sai do time. A princípio, só para ser poupado. Mas essa decisão abre chance para Antony mostrar serviço. Ele já está totalmente recuperado dos sintomas gripais que teve antes do jogo contra a Suíça.

Aos 22 anos, Antony tem 13 partidas disputadas pela seleção, sendo duas como titular. Nestas duas, deu dois es para gol. Também marcou dois gols em outras oportunidades em que saiu do banco de reservas. Ele entrou nos dois jogos da Copa do Mundo, com 17 minutos em campo contra a Sérvia e mais 23 diante da Suíça. Ou seja, enquanto Raphinha perde minutos em campo, Antony ganha ao longo da Copa do Mundo.

Tite escancarou na preparação para a Copa do Mundo as disputas por posição no time e Raphinha x Antony é uma delas. Publicamente, o treinador ite que o time titular para o mata-mata pode mudar: "A referência do jogo é importante e não posso precipitar [mudanças no time] porque o campo fala, a bola fala. Tenho que preparar e oportunizar os atletas, mas não sei o quanto de desempenho eles vão dar."

Depois de enfrentar Camarões na sexta-feira, a seleção já volta a campo na segunda, pelas oitavas de final. O adversário é indefinido, assim como a formação do ataque.