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

Rodolfo Rodrigues

Quem são os concorrentes de Neymar ao prêmio de melhor do mundo em 2020

Com três títulos na França em 2020, Neymar briga agora pelo título da Liga dos Campeões com o PSG - Jean Catuffe/Getty Images
Com três títulos na França em 2020, Neymar briga agora pelo título da Liga dos Campeões com o PSG Imagem: Jean Catuffe/Getty Images

06/08/2020 04h00

Com o adiamento da Eurocopa, a Liga dos Campeões ou a ser o torneio mais relevante da temporada 2019/20 para a escolha do prêmio do melhor jogador do mundo da Fifa. É claro que os campeonatos nacionais, encerrados recentemente, têm um peso grande. Mas um dos craques das grandes equipes europeias que conseguir conquistar a Champions provavelmente deverá ser coroado como o melhor jogador de 2020.

Messi, artilheiro (25 gols) e líder em assistências (21) no Campeonato Espanhol, é até aqui o favorito ao prêmio mais uma vez. Mas como não foi campeão espanhol e pode até ser eliminado nas quartas de final da Liga dos Campeões, o argentino do Barcelona pode perder força na escolha final. Lewandowski, artilheiro e campeão alemão e atual artilheiro do Champions pelo Bayern Munique, é dos favoritos, já que seu time vem forte na competição europeia.

Cristiano Ronaldo fez um bom campeonato italiano com a Juventus, foi campeão, mas perdeu a artilharia para Ciro Immobile, da Lazio (35 a 31 gols) e ficou atrás de Dybala na escolha do melhor jogador da Série A. Na Champions, porém, CR7 tem ainda a chance de brilhar pela Juve. Talvez até mais do que o próprio Dybala.

Entre os times ingleses, acredito que o belga De Bruyne é o grande favorito. Líder em assistências no Campeonato Inglês, foi o grande nome do Manchester City na competição e segue vivo na Champions. Henderson, do Liverpool, foi eleito o melhor jogador da Premier League, mas já está fora da Liga dos Campeões.

Já entre os ses, Mbappé e Neymar, campeões do campeonato, da Copa da França e da Copa da Liga da França, surgem com grande força, já que o PSG tem boa possibilidade de conquistar pela primeira vez a Liga dos Campeões. O francês, machucado, ainda é dúvida para a Champions, onde é o líder em assistências (4).

Neymar poderá ter três jogos na Liga dos Campeões para conseguir mostrar que tem condições de se tornar o melhor do mundo. Primeiro, contra a Atalanta-ITA nas quartas de final. Depois, se ar, contra o vencedor de Atlético de Madri-ESP e RB Leipzig-ALE. Por último, na grande decisão.

Correndo por fora, há ainda Benzema, artilheiro do Real Madrid, campeão espanhol, e o alemão Timo Werner, destaque do RB Leipzig e vice-artilheiro do alemão, negociado com o Chelsea. O primeiro ainda segue com chances nessa Liga dos Campeões. Veja o que cada um desses candidatos já fizeram na temporada 2019/20 (estatísticas SofaScore):

Você pode me encontrar também no twitter (@rodolfo1975) ou no Instagram (futebol_em_numeros