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

Casemiro já tem duas expulsões diretas no United; jornais repercutem

Compatriotas, Antony consola Casemiro após expulsão em Manchester United x Southampton - Nathan Stirk/Getty Images
Compatriotas, Antony consola Casemiro após expulsão em Manchester United x Southampton Imagem: Nathan Stirk/Getty Images

Colaboração para o UOL, em São Paulo (SP)

12/03/2023 15h25

Casemiro nunca tinha sido expulso com um cartão vermelho direto em quase 500 partidas disputadas por Real Madrid, Porto e São Paulo. O cenário parece ter mudado: em menos de 30 jogos em seu novo clube, o Manchester United, o brasileiro já soma duas expulsões.

Repercussão dos jornais

Os portais internacionais tentam entender o motivo do agravamento de suspensões diretas na nova jornada de Casemiro. Enquanto alguns portais espanhóis apontam uma arbitragem mais rígida na Premier League, outros informam as diferenças entre Real Madrid e Manchester United.

O Marca não considera um jogador desleal, apesar de sempre ter ido "no limite" pelos merengues. "Suas faltas, táticas e não táticas, muitas vezes eram justas e não ilegais", consta em matéria do site.

Casemiro teve duas expulsões em toda a sua trajetória pelo Real Madrid, mas ambas resultaram de dois cartões amarelos. Situação bastante diferente do que vem ocorrendo no Manchester United.

Apesar de ser considerado peça fundamental no time de Erik ten Hag, o meio-campista já se ausentou de cinco partidas em decorrência de expulsões/suspensões. Agora, serão mais quatro partidas.

O que aconteceu?

Neste domingo, Casemiro foi expulso no empate do Manchester United diante do Southampton, pelo Campeonato Inglês. O brasileiro deu uma entrada dura em Alcaraz e recebeu o vermelho do árbitro Anthony Taylor — antes, o juiz consultou o VAR e se confundiu na hora de aplicar o cartão, mostrando o amarelo.

Não bastasse o cartão vermelho, Casemiro ficará ausente dos próximos quatro jogos do United, conforme as regras de suspensão da Football Association (FA). A Federação impõe que o jogador seja suspenso em quatro oportunidades em caso de vermelho direto.

Já é a segunda vez que o volante recebe o cartão vermelho direto na temporada pelos Red Devils. A primeira tinha sido em fevereiro, contra o Crystal Palace, na qual o camisa 18 agarrou Will Hughes pelo pescoço.