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

Liga dos Campeões - 2022/2023

Harry Kane segue sem marcar na Champions, e Tottenham empata com Frankfurt

Harry Kane, atacante do Tottenham, segue sem marcar na Liga dos Campeões desta temporada  - DANIEL ROLAND/AFP
Harry Kane, atacante do Tottenham, segue sem marcar na Liga dos Campeões desta temporada Imagem: DANIEL ROLAND/AFP

Karina Merli

Do UOL, em São Paulo

04/10/2022 18h16

O Tottenham não saiu do empate com o Eintracht Frankfurt, hoje (4), pela terceira rodada da fase de grupos da Liga dos Campeões. No duelo que entre o segundo e o terceiro colocado da chave D, as equipes ficaram no 0 a 0 e perderam a chance de ultraarem o Sporting (POR).

Em um jogo truncado, o Tottenham seguiu sem poder contar com sua principal arma ofensiva. Harry Kane ou em branco mais uma vez e segue sem balançar as redes na atual edição do principal torneio do continente europeu.

As equipes voltam a se enfrentar na próxima rodada, no dia 12 de outubro, dessa vez na Inglaterra.

Lenglet, o defensor

O francês já vem em uma crescente no Tottenham e, hoje, ele reforçou seu status. Se o Frankfurt não avançou, em partes, se deve a ele. O seu desempenho só não foi melhor pelo cartão amarelo que levou no segundo tempo.

Kolo Muaini, cadê você?

Indo no sentido contrário de seu conterrâneo, Randal Kolo Muani mal apareceu no duelo. Talvez por isso, o técnico Oliver Glasner não teve tanta paciência e o tirou logo no início da segunda etapa.

Tottenham chega, mas não acerta

Na primeira etapa, o domínio do jogo foi inglês. O Tottenham, nos minutos iniciais, ficou insistentemente na área adversária, mas chegando pouco com perigo. No decorrer do duelo, isso mudou.

A chance mais clara de gol foi em lance em que Harry Kane cabeceou sozinho para fora, após cruzamento de Son, aos 11 minutos. O atacante chegou a ter outras chances para se redimir, mas não obteve sucesso.

Perisic foi outro que levou um pouco de perigo para o goleiro Kevin Trapp. Aos 42 minutos, em lance com as participações de Richarlison e Emerson, o croata bateu de pé direito e a bola desviou em Tuta, ando perto da trave.

Frankfurt cresce

Após o intervalo, aos quatro minutos, Lloris percebeu que a segunda etapa não seria exatamente com na primeira. O goleiro da equipe inglês fez difícil defesa em uma forte finalização de Knauff.

Pouco depois, o Tottenham tentou responder com Harry Kane, que na finalização foi interceptado por Evan N'Dicka. Diante de estilos de jogo semelhantes, portando-se bem atrás e explorando o contra-ataque, as equipes ficaram fadadas ao 0 a 0 e partida permaneceu morna.

Ficha técnica:

EINTRACHT FRANKFURT X TOTTENHAM

Competição: Liga dos Campeões
Local: Frankfurt Stadion, em Frankfurt (Alemanha)
Data e horário: 04 de outubro de 2022, terça-feira, às 16h (de Brasília)
Árbitro: Daniele Orsato (ITA)
Auxiliares: Alessandro Giallatini e Ciro Carbone
Cartão amarelo: Højbjerg (Tottenham), Lenglet (Tottenham) e Harry Kane (Tottenham)

EINTRACHT FRANKFURT: Kevin Trapp; Evan Ndicka, Makoto Hasebe, Tuta; Ansgar Knauff, Djibril Sow, Sebastian Rode (Luca Pellegrini), Kristian Jakic; Daichi Kamada, Jesper Lindström (Eric Ebimbe) e Randal Kolo Muani (Rafael Borré). Técnico: Oliver Glasner.

TOTTENHAM: Hugo Lloris; Cristian Romero, Eric Dier, Clément Lenglet (Davies); Emerson Royal, Pierre-Emile Højbjerg, Rodrigo Bentancur; Ivan Perisic (Ryan Sessegnon); Richarlison (Bryan Gil), Heung-Min Son e Harry Kane. Técnico: Antonio Conte.