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

Após Paquetá e Antony, Neymar tem indisposição; saúde não preocupa seleção

Neymar vê Brasil x Suíça fazendo tratamento no tornozelo - Reprodução
Neymar vê Brasil x Suíça fazendo tratamento no tornozelo Imagem: Reprodução

Gabriel Carneiro, Igor Siqueira, Danilo Lavieri e Pedro Lopes

Do UOL, em Doha (Qatar)

28/11/2022 17h12Atualizada em 28/11/2022 20h59

Classificação e Jogos

Vinícius Jr surpreendeu ao revelar na zona mista, após a vitória do Brasil por 1 a 0 sobre a Suíça, que Neymar teve um pouco de febre hoje (28), antes de a delegação ir para o Estádio 974, para o jogo segunda rodada da Copa do Mundo Qatar 2022. A CBF confirmou à reportagem do UOL Esporte a indisposição do camisa 10 da seleção, sem mencionar a febre, mas que o estado de saúde do jogador do PSG não preocupa.

Diferentemente de Danilo, que também trata de lesão no tornozelo, Neymar assistiu do hotel ao jogo.

"Ficou triste que não pôde vir, está um pouco mal. Não só pelo pé, mas um pouco de febre também, mas torcendo para que ele se recupere o mais rápido possível", afirmou Vini Jr ao SporTV.

Neymar trata em três períodos para voltar o quanto antes. A expectativa do Brasil é ter o camisa 10 à disposição nas oitavas de final. Como o time de Tite já está classificado, não haverá pressa para colocá-lo em campo diante de Camarões, sexta-feira (2), às 16h (de Brasília), no Estádio Lusail. Alisson, Paquetá e Antony também apresentaram sintomas gripais nos últimos dias, mas ficaram à disposição diante da Suíça.

O Brasil venceu Sérvia e Suíça e já está nas oitavas de final. A seleção precisa de um empate diante de Camarões para garantir o primeiro lugar. O adversário na próxima fase sairá do Grupo H, composto por Portugal, Uruguai, Coreia do Sul e Gana.

  • O Posse de Bola comenta os melhores momentos de Brasil x Suíça, a escalação de Tite, possíveis adversários nas oitavas e mais destaques da Copa do Mundo do Qatar. Assista:

Brasil 1 x 0 Suíça: quem foi o melhor jogador em campo?

Resultado parcial

Total de 1623 votos
37,89%
NELSON ALMEIDA/AFP