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

Rafael Reis

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Como chegadas de Messi e Cristiano Ronaldo pioraram PSG e Manchester United

Contratação de Cristiano Ronaldo era para ter mudado o patamar do Manchester United - Oli SCARFF / AFP
Contratação de Cristiano Ronaldo era para ter mudado o patamar do Manchester United Imagem: Oli SCARFF / AFP

24/12/2021 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Quatro meses atrás, os torcedores de Paris Saint-Germain e Manchester United receberam os presentes que há tanto tempo esperavam. Os ses conseguiram atrair Lionel Messi para seu projeto bilionário. Já os ingleses, enfim, repatriaram Cristiano Ronaldo, um dos seus maiores ídolos deste século.

Contratar os melhores jogadores da história recente do futebol mundial fez os dois clubes surfarem uma onda de certeza de sucesso nesta temporada. Afinal, ter um time liderado pelo craque argentino ou pelo artilheiro português era algo não tinha como dar errado.

Só que está dando. Tanto o PSG quanto o United patinaram muito mais do que esperavam na primeira metade das competições de 2021/22. E estão tendo resultados até mesmo inferiores aos registrados um ano atrás, quando ainda não tinham Messi ou CR7.

O time parisiense até melhorou seu desempenho no Campeonato Francês (somou sete pontos a mais nas primeiras 19 rodadas do que na temporada anterior). Só que na Liga dos Campeões da Europa, o torneio que realmente importa pelos lados do Parc des Princes, a situação foi bem diferente.

Pela primeira vez em cinco anos, o PSG não terminou a fase de grupos da Champions como líder da sua chave. A equipe dirigida por Mauricio Pochettino até avançou para as oitavas de final, mas ficou atrás do Manchester City.

A equipe somou 11 pontos nas seis partidas válidas pela etapa inicial, sua pontuação mais baixa desde que voltou a frequentar o torneio interclubes mais importante do planeta, lá na temporada 2012/13.

Mesmo com o trio de ataque mais badalado do mundo, com Messi acompanhado de Kylian Mbappé e Neymar, os ses marcaram apenas 13 vezes na competição, sua pior performance na década. Os parisienses só conseguiram uma goleada: 4 a 1 sobre o Brugge, na última rodada, quando as vagas do grupo já estavam definidas.

Já o Manchester United teve uma queda violenta no Campeonato Inglês, competição que venceu pela última vez em 2013 e que é sua prioridade atual, depois da recontratação de Cristiano Ronaldo.

Sem CR7, os "Red Devils" somaram 33 pontos nas 16 primeiras partidas da temporada ada e travavam uma briga cabeça a cabeça com o Liverpool pela liderança do torneio. Nesta, já reforçados pelo português, acumulam 27 pontos e já estão 17 atrás do Manchester City.

Também protagonizaram dois vexames históricos: foram goleados por 5 a 0 pelo Liverpool, seu arquirrival histórico, e levaram 4 a 1 do Watford, que luta contra o rebaixamento. A sequência de resultados ruins custou o emprego do técnico Ole Gunnar Solskjaer, que foi substituído pelo interino Ralf Ragnick, cujo contrato vai só até junho.

Hoje fora da zona de classificação para a Champions, o United corre risco de repetir os fiascos de 2016/17 e 2019/20, quando não conseguiu vaga para o mais cobiçado torneio do futebol interclubes.

O PSG tem agora direito a um descanso de fim de ano para recuperar as forças antes da metade decisiva da temporada. Seu próximo compromisso está marcado para 3 de janeiro, contra o modesto Vannes, da quarta divisão, pela Copa da França. Na Ligue 1, só volta a campo no dia 9, no clássico contra o Lyon.

Já o United nem poderá usufruir de uma folga para tentar a correção de rota. Cristiano Ronaldo e seus companheiros ainda têm mais duas partidas da Premier League inglesa pela frente antes do Réveillon: contra Newcastle e Burnley, na segunda e quinta-feira da semana que vem, respectivamente.