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

OPINIÃO

Arnaldo: Neymar pode perder quarto jogo decisivo em seis anos no PSG

Do UOL, em São Paulo

20/02/2023 10h31

Neymar sofreu lesão no tornozelo ontem, em partida do PSG contra o Lille pelo Campeonato Francês. O clube informou que não há fratura, mas o brasileiro ará por novas avaliações. Ele pode desfalcar o time no jogo de volta das oitavas de final da Liga dos Campeões, contra o Bayern de Munique, em 8 de março.

O Posse de Bola comentou sobre a lesão de Neymar. O jornalista Arnaldo Ribeiro lembrou o histórico de contusões do brasileiro em períodos importantes para a equipe.

"Essa situação de seguidos entorses no tornozelo e problemas no pé deveria ser objeto de um estudo fisioterápico, postural. Porque é muito frágil. Ele torce muito o pé quando apoia no chão, às vezes é uma pancada, às vezes é um simples desequilíbrio", disse Arnaldo Ribeiro.

"Se ele não jogar (contra o Bayern), será a quarta vez em seis temporadas que ele não joga uma partida decisiva de Champions League em mata-mata por conta de lesão. É impressionante esse dado", destacou o jornalista.

Dá para Róger Guedes ser artilheiro do Brasil?

"O Róger Guedes não é mau jogador, mas também está jogando em uma competição de nível técnico mais baixo. Para ele ser artilheiro do Brasil, como insinuou desejar, é outra história, outra conversa" disse Mauro Cezar Pereira.

Róger Guedes combina com o Corinthians

"O Corinthians dos últimos tempos é muito forte em casa e nem tanto fora. E o Róger Guedes é muito forte em casa, ele já é um dos maiores artilheiros da Neo Química Arena", disse Arnaldo Ribeiro.

Melhor pré-temporada do Brasil?

"O Corinthians, dos clubes brasileiros que vi, todos, incluindo o Palmeiras que é o melhor time desse início, foi o que melhor fez a pré-temporada até agora", disse Arnaldo Ribeiro.

Lucas Lima renasce na Vila Belmiro

"Parece que o cara pisa ali e é um outro jogador. E de fato ele foi. Agora, sim, (contra a) Portuguesa, tomando um gol no primeiro minuto de jogo, então todas as coisas conspiraram a favor", disse Arnaldo Ribeiro.

Desempenho de Lucas Lima empolga?

"Sou bem reticente em relação a jogadores como ele. Acho que é muito pouco tempo. Adversário fraco, fragilizado. É um período muito grande que o Lucas Lima não fez rigorosamente nada digno de registro", disse Mauro Cezar Pereira.

Recopa ganha importância no Flamengo

Tivesse pelo menos feito a final contra o Real Madrid, tivesse derrotado o Palmeiras na Supercopa, o cenário seria outro. Depois das derrotas, a gente sabe como funciona, inclusive por conta da 'Flamimimi', sempre muito atuante", disse Mauro Cezar Pereira.

Sócrates jurado no Carnaval do RJ

"Eu estava no Rio. Foi um desastre absoluto. Queriam expulsá-lo (Sócrates) do júri. Ele deu (nota) oito, para uma bateria que a vida inteira ganhava dez", disse Juca Kfouri.

Confira o programa na íntegra