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

Futebol pelo mundo

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.

Recordista de suspensões no PSG, Neymar volta a se ver perseguido na França

Neymar em ação durante a partida do PSG contra Montpellier, pela semifinal da Copa da França - AFP
Neymar em ação durante a partida do PSG contra Montpellier, pela semifinal da Copa da França Imagem: AFP

João Henrique Marques

Colunista do UOL

15/05/2021 04h00

Suspenso da decisão da Copa da França, Neymar está revoltado com a decisão da Comissão Disciplinar da Federação sa de Futebol, que o tira do jogo do Paris Saint-Germain contra o Monaco por causa do amarelo que o brasileiro recebeu na semifinal. Recordista de ganchos desde que chegou ao time em 2017, o brasileiro voltou a insinuar que se sente perseguido no país.

O PSG vai entrar com recurso para que Neymar seja liberado e cumpra a suspensão apenas na próxima temporada. O camisa 10 agora soma 14 jogos de suspensão no time parisiense, todas pelo Campeonato Francês ou pela Copa da França. No mesmo período, o meio-campista Marco Verratti, acostumado a levar cartões amarelos, ficou fora de 12 partidas por causa de suspensões. O zagueiro Presnel Kimpembe, expulso três vezes na temporada, cumpriu 11 jogos de gancho de 2017 para cá.

Para Neymar, os árbitros que apitam na França entram em campo predispostos a amarelá-lo. O jogador pensa que seu estilo driblador incomoda os juízes, já que tornam as partidas mais violentas e constantemente iniciam discussões em campo.

"Jogo cinco minutos, faço uma falta e já tomo o amarelo sem pensar. Obrigado por me tirar da final. Acho que estão levando para o pessoal", postou Neymar, em seu perfil no Instagram, após receber o cartão amarelo no empate com o Montpellier. O PSG avançou com vitória nos pênaltis.

Se a suspensão for confirmada, Neymar ficará fora do quinto jogo somente na temporada por causa de punições do tipo. No primeiro gancho, pegou duas partidas pelo vermelho que recebeu durante duelo com o Olympique de Marselha. Na ocasião, o brasileiro considerou a decisão inissível, principalmente ao ver as denúncias de racismo contra Álvaro González arquivadas pela Comissão Disciplinar. Porém, acatou recomendação de seu entorno para não se posicionar veementemente contra as autoridades.

Desde o início da temporada, Neymar recebeu cartão em dez dos 29 jogos que fez pelo PSG. No total, foram nove amarelos e dois vermelhos.

Além do risco da suspensão, o brasileiro estava febril no dia do jogo contra o Montpellier. Por isso, sua presença em campo não estava prevista. O técnico Mauricio Pochettino só o colocou em campo nos cinco minutos finais da partida pensando na disputa de pênaltis.

"É uma pena que em tão pouco tempo de jogo ele [Neymar) tenha levado cartão", lamentou Pochettino.

Como não há suspensão automática no futebol francês, Neymar esperou um julgamento da Comissão Disciplinar, realizado ontem (14), para saber se estaria fora da final. O regulamento deixa claro o risco de punição, mas não diz quando ela tem de ser cumprida. No caso do camisa 10, ele está liberado para enfrentar o Reims amanhã, pelo Campeonato Francês, mas está fora da final da Copa da França.

"Queria entender a cabeça do cara que fez a regra dos cartões na França. Esse merece aplausos. Que confusão", voltou a postar Neymar, criticando o futebol francês.

Apesar da revolta com a arbitragem do futebol francês, Neymar assinou renovação contratual com o PSG até 2025. Em março, com acerto verbal já firmado, o brasileiro chegou a repensar o futuro em momento de desestabilidade emocional após ser expulso durante derrota do PSG por 1 a 0 para o Lille.

O PSG lutou para defender o brasileiro. Na vitória por 2 a 1 sobre o Lens, em jogo realizado no início do mês, o diretor de futebol Leonardo esperou o árbitro no túnel para reclamar de faltas não marcadas em Neymar.

"Não é possível que você não veja isso. Não é a primeira vez que você se comporta assim, e isso é um gesto de implicância de sua parte", gritou Leonardo. A atitude do dirigente agradou o entorno do camisa 10.