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

Flamengo

Fla tem motivos para se animar com vitória na 'hora certa', mas cabe alerta

Alexandre Araújo e Caio Blois

Do UOL, no Rio de Janeiro (RJ)

22/11/2020 04h00

Rogério Ceni deve ter alguns poucos dias de calmaria após a turbulência que o Flamengo atravessou nos últimos dias. A primeira vitória no comando do rubro-negro e a boa atuação, inclusive, aconteceram às vésperas de mais uma decisão na temporada. Desta vez, por vaga nas quartas de final da Libertadores, contra o Racing, da Argentina.

O triunfo de ontem (21), sobre o Coritiba, pelo Campeonato Brasileiro, fez a torcida voltar a se animar com a equipe e criar uma boa expectativa para o confronto desta terça-feira. Ao mesmo, manteve uma luz de alerta ligada com novos erros de um ado nem tão distante.

Oportunidades criadas e ataque positivo

Com o quarteto do meio de campo novamente formado por Arão, Gerson, Arrascaeta e Everton Ribeiro, o Flamengo se mostrou um time mais intenso e criativo no setor ofensivo. No decorrer dos 90 minutos do jogo, empilhou oportunidades e não deu muitas chances ao adversário. Apesar da fragilidade do Coxa, que está na zona de rebaixamento, foi um duelo quase que de ataque contra defesa, com 23 chutes contra apenas seis dos paranaenses, segundo dados do site "Sofascore".

Além disso, mesmo sem os artilheiros Gabigol e Pedro, que se recuperam de lesões, o Fla fez três gols e construiu uma vitória tranquila. O camisa 9, inclusive, vai viajar para o duelo com o Racing, como revelou Ceni.

"O Gabriel vai ser relacionado amanhã, ele viaja com a gente. O Pedro continua o tratamento, não sei a volta exata dele, mas vem evoluindo", disse Ceni.

Intensidade de 2019

O Rubro-Negro, mesmo que ainda de forma tímida, se mostrou um time mais próximo da temporada ada. Com intensidade na marcação e avanços bem encaixados, a equipe de Ceni teve posse de bola e conseguiu jogar no campo do adversário. Obviamente cabe a ressalva sobre um adversário que está na zona de rebaixamento do Brasileirão.

Bruno Henrique comemora gol pelo Flamengo contra o Coritiba, em jogo do Brasileirão - Thiago Ribeiro/AGIF - Thiago Ribeiro/AGIF
Imagem: Thiago Ribeiro/AGIF

Logo na chegada, Ceni afirmou que gostaria de adotar um estilo de jogo mais parecido com o implementado pelo técnico Jorge Jesus. Ontem, por exemplo, repetiu algumas peças — principalmente no meio de campo — e tentou um desenho tático parecido.

"Mais ofensivo possível. Fiquei muito tempo no gol, quero ficar o mais longe [do gol] possível. De acordo com a qualidade técnica, o Flamengo gosta da bola. Ideia é sempre tentar o gol, o importante é o gol. A favor, claro (risos). Gosto de jogar com o máximo de atacantes possível, com velocidade, habilidade. Essa é a área que mais gosto de mexer", disse, na apresentação.

Por outro lado...

O Fla, porém, voltou a mostrar falhas no setor defensivo. Nos minutos finais, em novo cochilo, o time voltou a ser vazado. A última vez que a equipe da Gávea saiu de campo sem tomar gols foi na vitória por 1 a 0 sobre o Athletico-PR, pela Copa do Brasil, no fim do mês ado. De lá para cá foram 17 gols em sete jogos.

Dessa vez, para constar, a zaga foi formada por Thuler e Léo Pereira, numa constante busca por uma formação que e mais segurança no e a um ataque de enorme potencial.

Os problemas defensivos, inclusive, foram primordiais para a queda do técnico Domènec Torrent, demitido no início do mês. A diretoria tomou a decisão pela saída depois de duas goleadas consecutivas no Brasileiro, para São Paulo e Atlético-MG.

Semana conturbada ficou para trás?

Integrantes de organizadas do Flamengo conversam com Braz e Spindel, em reunião na Gávea - Reprodução Twitter André Luis Valladas - Reprodução Twitter André Luis Valladas
Imagem: Reprodução Twitter André Luis Valladas

Os últimos dias do Flamengo foram agitados. A derrota no primeiro encontro com o São Paulo, pela Copa do Brasil, foi o início de uma sequência que chacoalhou clube e elenco. A eliminação na competição foi concretizada com uma acachapante derrota por 3 a 0 para o Tricolor paulista, na última quarta-feira, e, neste meio do caminho, ainda houve um empate com o Atlético-GO, pelo Brasileiro.

Protestos na porta do CT Ninho do Urubu e conversa de organizadas com dirigentes na sede da Gávea deram o tom da insatisfação da torcida com o desempenho recente em campo.

Flamengo