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

Fluminense

Egídio volta a falhar, e derrota com desfalques expõe fraqueza de elenco

Caio Blois

Do UOL, no Rio de Janeiro

21/09/2020 04h00

Parecia filme repetido. O Fluminense entrou em campo na Ilha do Retiro com nove desfalques e um formato diferente do usual. Mais conservador que de costume na escalação, o Tricolor sofreu um gol cedo, após pênalti infantil de Egídio, e precisou correr atrás do placar.

Mais uma vez, o Flu não conseguiu nem um empate fora de casa. O Sport saiu na frente e, com postura reativa, abdicou da bola para se defender. Com a falta de qualidade mais do que evidente de seu adversário, o objetivo do time de Jair Ventura foi conquistado, e o Leão venceu por 1 a 0, com gol de Hernane Brocador.

Erros não só na postura inicial mas também nas substituições, com Felippe Cardoso, antes fora dos planos de Odair Hellmann, sendo a primeira opção para sair do banco de reservas quando a equipe precisava mudar o jogo.

Ganso teve boa atuação em derrota do Fluminense para o Sport - Mailson Santana/Fluminense FC - Mailson Santana/Fluminense FC
Ganso teve boa atuação em derrota do Fluminense para o Sport
Imagem: Mailson Santana/Fluminense FC

Depois de ser mais ousado nas mexidas, o técnico viu a equipe enfim traduzir a posse de 74% em finalizações (foram 17 no segundo tempo), mas o time não balançou a rede. Sem muitos titulares, a equipe teve em Ganso, controlando o meio, a única boa notícia.

O camisa 10, de novo, teve boa atuação, que já deveria ser suficiente para lhe render mais minutos em jogos que Nenê, preferido de Odair, não rende. Com opções de velocidade ao seu entorno e um centroavante à frente, ainda que fossem peças do time reserva, o meia fez o time jogar e mostrou que precisa ser mais do que o 19º do elenco em minutos.

Egídio falhou em seis das oito últimas derrotas do Flu

Desde o retorno após a paralisação por conta da pandemia de coronavírus, Egídio acumula erros capitais. Logo no primeiro jogo, contra o Volta Redonda, foi expulso aos 16 minutos de jogo. Depois, falhou nos dois jogos da final do Campeonato Carioca contra o rival Flamengo, o que voltaria a acontecer também nas derrotas contra Grêmio, Red Bull Bragantino e agora Sport.

São 17 jogos oficiais desde o retorno do futebol e, das oito derrotas desde então, seis tiveram participação direta do jogador, que também errou nos gols sofridos na vitória sobre o Vasco e no empate com o Atlético-GO, pelo Brasileirão. Má fase que fez Odair pedir a contratação de Danilo Barcelos. Apesar de começar bem na estreia, com vitória sobre o Corinthians, o lateral acabou expulso e suspenso para o jogo de ontem (20).

O treinador ainda não teve Danilo Barcelos e Egídio à disposição, juntos, na mesma partida. E nem terá na quinta-feira, quando o Tricolor enfrenta o Atlético-GO pelo jogo de volta da quarta fase da Copa do Brasil, já que o reforço contratado já atuou na competição pelo Botafogo e, por força de regulamento, não pode entrar em campo pelo novo clube. Assim, o atual titular seguirá no time, ainda que viva péssima fase.

Fluminense