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

Tite comanda treino com Neymar e seleção completa, mas não mostra titulares

Veja imagens do treino desta terça-feira (31) da seleção brasileira

Do UOL, em São Paulo

31/08/2021 17h53

A seleção brasileira fez hoje (31) seu primeiro treino com todos os 24 jogadores convocados por Tite à disposição no CT Joaquim Grava, em São Paulo. O zagueiro Marquinhos, o volante Gérson e o atacante Neymar, que ainda não tinham se apresentado antes das atividades de ontem, desta vez foram a campo. O técnico Tite escondeu o time titular para o jogo de quinta-feira (2), às 22h (de Brasília), contra o Chile.

Tite ainda dirige mais um treinamento amanhã (1), às 10h30, e na sequência concede entrevista coletiva. Há possibilidade de o técnico relevar a escalação. A delegação embarca às 16h para Santiago, palco do jogo pela nona rodada das Eliminatórias da Copa do Mundo do Qatar.

No treino de hoje, o elenco foi dividido em pequenos trios sob o comando dos preparadores físicos Fábio Mahseredjian e Ricardo Rosa e depois em três grupos maiores - já na parte técnica da atividade. Um dos grupos realizou um treino leve para evitar desgaste: Marquinhos, Miranda, Lucas Veríssimo, Guilherme Arana, Edenilson, Neymar e Hulk.

Já os outros dois grupos foram divididos em dois times para um enfrentamento de sete contra sete com foco em posse de bola. De um lado estiveram Daniel Alves, Casemiro, Bruno Guimarães, Claudinho, Everton Ribeiro, Vini Jr e Matheus Cunha. De outro, Danilo, Éder Militão, Alex Sandro, Gérson, Lucas Paquetá, Malcom e Gabigol.

Neymar - Reprodução/CBF TV - Reprodução/CBF TV
Neymar conversa com Hulk e outros jogadores durante treino de hoje (31) da seleção
Imagem: Reprodução/CBF TV

Os goleiros Éverson, Santos e Weverton trabalharam reservadamente com o preparador Taffarel.

Depois deste treino de posse de bola, a transmissão da CBF TV foi encerrada. Segundo divulgado, aconteceria na sequência um treinamento tático com movimentações e bolas paradas defensivas e dois times formados, provavelmente titular e reserva do jogo contra o Chile.

O Brasil lidera as Eliminatórias com 100% de aproveitamento nos seis jogos realizados até aqui. Além do Chile, a equipe enfrenta Argentina e Peru como mandante nos próximos dias 5 e 9.