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

Lewa brilha, Bayern arrasa Salzburg por 7 a 1 e vai às quartas da Champions

Bayern de Munique comemora um dos gols de Lewandowski na Liga dos Campeões - CHRISTOF STACHE/AFP
Bayern de Munique comemora um dos gols de Lewandowski na Liga dos Campeões Imagem: CHRISTOF STACHE/AFP

Do UOL, no Rio de Janeiro

08/03/2022 18h49

O Bayer de Munique precisou de apenas poucos minutos para confirmar vaga nas quartas de finais da Liga dos Campeões, hoje (8), na Alemanha. Lewandowski marcou três gols seguidos em apenas 11 minutos e foi o grande nome da vitória dos bávaros por 7 a 1 sobre o RB Salzburg, na Allianz Arena. No jogo de ida, na Áustria, as equipes empataram por 1 a 1. Gnabry fez o quarto, Müller o quinto (e o sexto) e Sané o sétimo - Kjaergaard descontou.

Ao contrário do primeiro jogo, quando o Salzburg, jogando em casa, causou muitos problemas para o Bayern, hoje a história foi outra. Lewa e companhia mostram literalmente desde o primeiro minuto que estavam com sede de gols. O goleiro Köhn fez boa defesa e parecia que seria novamente pedra no sapato dos alemães. Mas foi só uma falsa impressão.

  • Veja análises e últimas notícias do futebol no UOL News Esporte com Domitila Becker e comentários de Alicia Klein e Julio Gomes:

É que o Bayern definiu a classificação nos minutos seguintes, com direito a hat-trick de Lewandowski em um intervalo de apenas 11 minutos. O polonês sofreu e converteu dois pênaltis aos 12min e 21min. O atacante do clube alemão ainda voltou a marcar aos 23min, ao encobrir o goleiro rival. A vitória já estava encaminhada, e Gnabry ainda deixou sua marca aos 31min, dando números finais ao primeiro tempo.

Na volta do intervalo, os donos da casa seguiram em busca de mais gols e ele não demoraram a sair. Logo aos 8min, Müller recebeu dentro da área e chutou no canto para ampliar. O Salzburg descontou com Kjaergaard em um belo gol. Müller voltou a deixar sua marca em grande jogada coletiva. E Sané deu números finais e decretou o 7 a 1 de cada dia.