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

Seleção já tem plano sem Alex Sandro e com improviso para oitavas da Copa

Marquinhos pode ser improvisado como lateral esquerdo contra a Coreia do Sul - Markus Gilliar/GES Sportfoto
Marquinhos pode ser improvisado como lateral esquerdo contra a Coreia do Sul Imagem: Markus Gilliar/GES Sportfoto
Gabriel Carneiro, Danilo Lavieri e Pedro Lopes

Do UOL, em Doha

03/12/2022 10h18

Classificação e Jogos

A seleção brasileira já trabalha com a possibilidade de não ter um lateral-esquerdo de origem disponível nas oitavas de final da Copa do Mundo, na segunda-feira (5), contra a Coreia do Sul. Alex Telles foi cortado hoje (3) por causa de uma lesão no joelho direito, enquanto Alex Sandro ainda está em tratamento de contusão muscular com chances remotas de ser usado por Tite.

Alex Sandro vai para o gramado do centro de treinamentos da seleção em Doha para fazer trabalhos com bola neste sábado, mas ainda distante da exigência de um treino normal com os companheiros. A comissão técnica espera respostas do departamento médico, mas montou o plano para o jogo contra a Coreia do Sul sem o lateral-esquerdo e com improviso no setor.

Os principais candidatos à vaga na lateral esquerda são Marquinhos e Danilo. O zagueiro, que estava sendo poupado por ser titular, saiu do banco e atuou por 45 minutos como substituto de Alex Telles na posição contra Camarões. O problema é que utilizá-lo na posição desde o começo obrigaria Tite a desmanchar a dupla de zaga consolidada há quatro anos com Thiago Silva.

Por isso é que Danilo tem vantagem na disputa. O lateral-direito já está recuperado de uma lesão de ligamentos no tornozelo esquerdo e vai treinar sem restrições com o grupo neste sábado. Segundo apurou o UOL Esporte, Tite considera ele como opção para a lateral esquerda porque na Juventus ele joga como zagueiro por este lado e chegou a jogar até de lateral-esquerdo nessa temporada.

Com Danilo na esquerda, o titular da lateral-direita a a ser Éder Militão, que está na frente de Daniel Alves na disputa pela titularidade.

Desta forma o quadro é o seguinte: entre Militão, Marquinhos e Danilo, dois jogarão como laterais contra a Coreia do Sul. A comissão técnica trabalha com o quadro de dois laterais [Danilo e Daniel Alves] e dois zagueiros que podem fazer a lateral [Militão a direita e Marquinhos a esquerda] no primeiro mata-mata. A volta de Alex Sandro seria considerada surpreendente e não faz parte do plano atual.

São apenas dois treinos antes de enfrentar a Coreia do Sul no estádio 974. Hoje, o trabalho será totalmente fechado para a imprensa. No domingo, Tite é obrigado a abrir pelo menos 15 minutos.