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

PSG tem caminho sem campeões até a final e com Neymar em forma

Do UOL, em São Paulo

10/07/2020 09h19Atualizada em 10/07/2020 18h40

Se pesar apenas o histórico das equipes, o PSG tem sua melhor chance de conquistar a Liga dos Campeões desde que Neymar foi contratado. Depois de eliminar o Borussia Dortmund nas oitavas de final, o clube francês não enfrentará no mata-mata mais nenhum time que já conquistou o torneio em seu caminho até a final do torneio.

O sorteio realizado na manhã de hoje (10) colocou o PSG contra a Atalanta nas quartas de final. Caso se classifique, enfrentará o vencedor do duelo entre Atlético de Madri e RB Leipzig. Desses três times, apenas a equipe espanhola já chegou a uma final de Liga dos Campeões, mas acabou derrotada.

Só no EI Plus você assiste ao vivo a 100% dos jogos da Champions League! Assine agora pelo UOL Esporte Clube!

A primeira temporada de Neymar pelo PSG foi em 2017/18. Naquele ano, uma lesão no quinto metatarso do pé direito deixou o brasileiro fora do confronto contra o Real Madrid, nas oitavas de final. A equipe perdeu os dois jogos (3 a 1 e 2 a 1) e acabou eliminada.

No ano seguinte, o PSG foi sorteado para enfrentar o Manchester United nas oitavas de final. Mais uma vez sem Neymar, com nova lesão no quinto metatarso, os ses foram surpreendidos em um duelo em que, em tese, eram favoritos. Após uma vitória por 2 a 0 fora de casa, o PSG acabou caindo por 3 a 1, dentro do Parque dos Príncipes, e eliminado pela regra do gol fora.

Caso consiga chegar à final, o PSG poderá ter um caminho sem enfrentar campeões, na hipótese de Lyon, Manchester City ou Napoli se classificarem no outro lado da chave. A outra possibilidade é encarar uma das equipes que já levantou o troféu pelo menos uma vez: Barcelona, Bayern de Munique, Chelsea, Juventus e Real Madrid.

Dessa vez, o clube francês conta com o reforço de Neymar em mata-matas. O brasileiro teve participação fundamental na classificação sobre o Borussia Dortmund, ao marcar duas vezes no confronto.

Os jogos de quartas de final da Liga dos Campeões serão disputados nos dias 12, 13, 14 e 15 de agosto. As semifinais estão marcadas para 18 e 19 do mesmo mês, enquanto a decisão será em 23 de agosto. Por causa da pandemia causada pelo Covid-19, todos os duelos serão em jogo único em Lisboa, Portugal.

*
Errata: este conteúdo foi atualizado
Diferentemente do informado, o Borussia Dortmund já foi campeão da Liga dos Campeões.