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

Italiano - 2021/2022

Em primeiro jogo sem CR7, Juventus perde em casa para o Empoli

Leonardo Mancuso, do Empoli, marcou contra a Juventus - Rerpodução/Instagram
Leonardo Mancuso, do Empoli, marcou contra a Juventus Imagem: Rerpodução/Instagram

Colaboração para o UOL, em São Paulo

28/08/2021 17h49

No primeiro jogo sem Cristiano Ronaldo, que acertou seu retorno ao Manchester United após 12 anos longe da Inglaterra, a Juventus recebeu o Empoli, hoje (28), pela segunda rodada do Campeonato Italiano e foi surpreendida e derrotada por 1 a 0.

Leonardo Mancuso marcou o único gol do jogo, aos 20 minutos do primeiro tempo e, apesar das mudanças promovidas na Juventus para a segunda etapa, o Empoli segurou o resultado até o fim.

Com a derrota em casa, a Juventus segue sem vencer no torneio nacional e tem apenas um ponto, na 13ª colocação. O Empoli, derrotado em casa pela Lazio na primeira rodada, somou seus primeiros três pontos e assumiu o 11º lugar.

O jogo

Sem poder contar com o principal artilheiro do time nas últimas três temporadas, o técnico Massimiliano Allegri apostou em um ataque leve, formado por Federico Chiesa e Paulo Dybala. A estratégia pareceu funcionar, a princípio.

Chiesa, aos 4 e aos 12 minutos criou boas oportunidades para os donos da casa, mas parou no goleiro Vicario. Além das chances criadas, a Juventus tinha mais volume de jogo e comandava todas as ações. O gol parecia questão de tempo. E era.

Aos 20 minutos, a rede balançou, mas para o Empoli. Valente, a equipe visitante ou a pressão inicial e ou a incomodar a Juventus com a marcação no campo de ataque. Após chute de Bajrami que explodiu na marcação, Mancuso apareceu livre, de frente para o goleiro e mandou para o gol antes de a bola cair.

O gol assustou os donos da casa, que perderam o controle do jogo. Aos 25 minutos, Cutrone arriscou de fora da área e quase aumentou a vantagem do Empoli. A primeira etapa seguiu sem chances claras de gol e os visitantes levaram ao 1 a 0 para o intervalo.

Os atacantes Morata e Bernadeschi entraram nos lugares de Mckennie e Rabiot para reforçar o setor ofensivo do time de Turim logo no início do segundo tempo. Apesar de criar mais chances, os donos da casa não conseguiram dominar completamente as ações.

Desta forma, mesmo com boas chegadas de Dybala e Kulusevski, a Juve continuou tomando sustos e, conforme o fim do jogo se aproximava, os jogadores se irritavam com os sucessivos erros.

Assim, sem sequer sofrer grande pressão dos donos da casa, o Empoli se segurou bem, garantindo a primeira vitória no Campeonato Italiano.

Sequência

Na próxima rodada, a Juventus enfrenta o Napoli fora de casa em busca dos primeiros três pontos. O Empoli, por sua vez, joga em casa contra o Veneza.