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

Arsenal supera expulsão, anula Liverpool e segura empate em semifinal

Fabinho tenta roubar a bola de Lacazette durante o clássico entre Liverpool e Arsenal na Copa da Liga Inglesa - REUTERS/Craig Brough
Fabinho tenta roubar a bola de Lacazette durante o clássico entre Liverpool e Arsenal na Copa da Liga Inglesa Imagem: REUTERS/Craig Brough

Do UOL, em São Paulo

13/01/2022 18h39

Não bastou ter 77% de posse de bola e um jogador a mais por 66 minutos: o Liverpool foi pouco criativo hoje (13), em Anfield, e não saiu do 0 a 0 no clássico contra o Arsenal, no jogo de ida da semifinal da Copa da Liga Inglesa.

O empate deixa tudo para a segunda partida. No calendário original o finalista já estaria definido a esta altura, mas este primeiro jogo precisou ser adiado devido a um surto de covid-19 no Liverpool. Os times agora se reencontram na quinta-feira (20), e quem se classificar pega o Chelsea na decisão.

Antes disso, os rivais voltam as atenções ao Campeonato Inglês: o Liverpool recebe o Brentford às 11 horas (de Brasília) de domingo (16), e o Arsenal joga clássico fora de casa contra o Tottenham às 13h30.

Arsenal se arruma com um a menos

Granit Xhaka é expulso durante Liverpool x Arsenal na semifinal da Copa da Liga Inglesa - REUTERS/Craig Brough - REUTERS/Craig Brough
Imagem: REUTERS/Craig Brough

O Liverpool controlou o primeiro tempo com a intensidade tradicional de um time de Jurgen Klopp, dominando um Arsenal desorganizado e que dava espaços demais. Curiosamente, o time londrino melhorou um pouco após ficar com um a menos na expulsão de Xhaka: continuou atacando pouquíssimo e mal, mas se encontrou na defesa e fechou a porta do rival.

Apesar do domínio e da posse de bola de 80%, o Liverpool sentiu falta de seus desfalques e mostrou pouca criatividade para furar a defesa adversária. Cercou muito, ocupou o campo de ataque e parecia sempre pronto a causar perigo, mas o ataque contra defesa não deu resultado -o jogo chegou ao intervalo sem nenhum chute na direção do gol, dos dois lados.

Pouco criativo, Liverpool bate na parede

As condições do jogo seguiram as mesmas na volta do intervalo, com o Liverpool mais disposto a atacar e pressionando pelo gol, mas o Arsenal se portou melhor dentro do que estava disposto a fazer: defender-se. O time visitante mostrou mais dinamismo e conseguiu criar alternativas para não ter que correr atrás do adversário o tempo todo: combinou escapadas rápidas com ataques arrastados; nada muito efetivo, mas fazia o relógio correr.

Já o Liverpool sentiu muita falta dos dribles e da criatividade de Mo Salah e Sadio Mané, que estão na Copa Africana de Nações. Com Diogo Jota e Minamino nas pontas, faltou inventividade. Contra uma marcação em bloco, ninguém propôs soluções, partiu para o drible ou chutou de longa distância —"faltou repertório". Roberto Firmino, titular no dia em que ficou de fora da convocação para a seleção brasileira, foi discreto demais porque a bola também não chegou.

O primeiro chute no gol do jogo saiu apenas aos 25 minutos do segundo tempo: Saka foi acionado dentro da área e só não abriu o placar porque Alisson cresceu na frente dele. Já aos 44 Minamino teve um rebote limpo na área, sem goleiro, mas chutou por cima e perdeu chance inacreditável. Nos acréscimos a pressão aumentou por força do desespero, mas o Arsenal se segurou como conseguiu.