;(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 - 2021/2022

Inter de Milão e Shakhtar se complicam na Champions após empate sem gols

Jogadores da Inter de Milão e do Shakhtar brigam pela bola; times ainda não venceram no torneio continental - Gleb Garanich/Reuters
Jogadores da Inter de Milão e do Shakhtar brigam pela bola; times ainda não venceram no torneio continental Imagem: Gleb Garanich/Reuters

[email protected] (Redação)

28/09/2021 15h39

Pela abertura da 2ª rodada da fase de grupos da Liga dos Campeões, Shakhtar Donetsk e Inter de Milão empataram em 0 a 0, hoje, no Estádio de Kiev. O resultado foi ruim para ambos os clubes, que seguem sem vencer na competição.

Com o empate, as duas equipes têm apenas um ponto conquistado no Grupo D. Por ter menos saldo de gols, o Shakhtar ocupa a lanterna, enquanto a Inter aparece na 3ª posição.

Apesar do placar inalterado, as duas equipes tiveram oportunidades de marcar. O Shakhtar chegou mais vezes ao ataque, mas pecou na pontaria na hora de finalizar. A Inter, por sua vez, criou menos chances, mas sempre com perigo.

No 1° tempo, Solomon, Tetê e Pedrinho chutaram com perigo, mas para fora. Já pelo lado visitante, Barella acertou o travessão em chute colocado de fora da área, e Dzeko desperdiçou boa oportunidade dentro da área ao mandar por cima em sobra após cobrança de escanteio.

Já na 2ª etapa, o zagueiro Skriniar salvou a Internazionale ao bloquear chute de Pedrinho de dentro da área, logo nos primeiros minutos. O Shakhtar até esboçou uma pressão depois do lance, mas não voltou a ameaçar a meta de Handanovic.

Ao poucos, a Inter equilibrou o confronto e conseguiu levar perigo novamente já no fim da partida. Primeiro, Correa bateu colocado de fora da área no canto esquerdo de Pyatov, que fez grande defesa. Na sequência, o goleiro fez outra brilhante intervenção em cabeçada de De Vrij após escanteio pela direita. Com isso, o empate sem gols persistiu até o último apito.

Inter de Milão e Shakhtar Donetsk só voltam a campo pela Liga dos Campeões no dia 19 de outubro. Enquanto a equipe italiana enfrenta o Sheriff, da Moldávia, no San Siro, o time ucraniano recebe o Real Madrid. Antes, os dois clubes terão compromissos por seus campeonatos nacionais.

Ajax bate o Besiktas e segue 100%

Também nesta tarde, o Ajax venceu o Besiktas, da Turquia, por 2 a 0, na Johan Cruijff Arena, em Amsterdã. Com o resultado, o clube holandês segue com 100% de aproveitamento na fase de grupos da Liga dos Campeões.

Steven Berghuis abriu o placar para os donos da casa aos 16 minutos do primeiro tempo, chutando cruzado de pé esquerdo dentro da área após grande jogada de Tadic. Aos 42, Berghuis recebeu pela direita, ajeitou para canhota a cruzou na pequena área, onde Sébastien Haller desviou com o joelho direito para ampliar.

O Ajax lidera o Grupo C, com seis pontos conquistados. Já o Besiktas, que ainda não pontuou, ocupa o terceiro lugar.