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

Carioca - 2021

Flu vence o Boavista, mantém 100% com Roger e sobe na tabela do Carioca

Do UOL, no Rio de Janeiro

23/03/2021 20h00

Apesar do estado ruim do gramado, o Fluminense venceu o Boavista, por 2 a 0, no Elcyr Resende, em Bacaxá, e assumiu a terceira posição do Campeonato Carioca. Os gols do jogo foram de Yago e John Kennedy.

Agora com 9 pontos, o Tricolor empatou com o rival Flamengo e encostou no líder Volta Redonda. Além disso, manteve 100% de aproveitamento com Roger Machado à beira de campo: três vitórias em três jogos.

De volta, Martinelli é o melhor em campo

Retornando ao time após folga estendida ao fim do Campeonato Brasileiro, o volante Martinelli reassumiu também o status de "dono" do meio de campo do Fluminense. O jovem de 19 anos fez mais uma grande partida, comandando a equipe com es e calma de um veterano.

Klever faz grandes defesas

No Boavista, que não teve uma atuação ruim, o grande destaque foi o goleiro Klever, curiosamente cria do Fluminense. Já experiente, aos 31 anos, o camisa 1 do time da casa impediu uma vitória com placar elástico para o Tricolor.

Fluminense começa melhor, mas finaliza pouco

O jogo começou em ritmo lento, mas o Fluminense tinha o domínio das ações. O Tricolor trabalhava bem a bola no meio de campo, mas não conseguia transformar a posse em finalizações. A chance mais clara da equipe de Roger Machado veio apenas aos 31, quando Lucca aproveitou cruzamento de Danilo Barcelos para bater forte e parar em grande defesa de Klever. Antes, Michel Araújo já havia tentado duas vezes, mas não conseguiu levar perigo ao gol do Boavista.

Marcos Felipe pega pênalti e salva o Flu

Apesar de estar melhor na partida, o Fluminense cedia muitos espaços para o contra-ataque do Boavista. Na parada técnica, Roger Machado tentou corrigir o posicionamento da equipe, mas, aos 35, um erro quase custou caro. Em lançamento da defesa do time da casa, Matheus Ferraz furou a matada no peito e deixou Vitor Feijão invadir a área com velocidade. Na cobertura, Danilo Barcelos chegou vendido e cometeu pênalti. A sorte do Tricolor foi que Marcos Felipe defendeu a cobrança de Jean Victor e contou com Nino para aliviar no rebote. O goleiro salvou o Flu após a falha clamorosa do zagueiro.

Marcos Felipe pega pênalti e salva o Fluminense

Tricolor abre placar com Yago em lance de sorte

Sem mudanças no intervalo, o Fluminense voltou ao campo repetindo a atuação sem brilho com lentidão nas transições. Logo aos quatro, entretanto, o Tricolor contou com a sorte para abrir o placar. Em jogada pela direita, Igor Julião colocou na área e Elivelton cortou mal. Yago pegou o rebote, ganhou dividida e chutou de três dedos, mas a bola desviou em Pedroso e enganou Klever antes de morrer no canto oposto e colocar o Flu em vantagem em Bacaxá.

Yago conta com desvio para abrir o placar para o Fluminense

Gol faz jogo melhorar

Se o ritmo da partida era lento até então, o gol do Fluminense fez o jogo melhorar, ao menos em emoção. O Tricolor se soltou mais e ou a assustar Klever. Aos 11, Gabriel Teixeira quase aumentou a fatura para o Flu, mas mandou por cima do travessão. Dois minutos depois, Samuel roubou a bola e ou para Michel Araújo, que invadiu a área, mas parou em grande defesa do goleiro do Boavista. O time da casa respondeu aos 19, em um foguete de Jefferson Renan que tirou tinta do gol de Marcos Felipe.

Arbitragem erra demais e irrita os dois times

Capítulo à parte como de costume no Campeonato Carioca, a arbitragem irritou os dois times no Elcyr Resende. Ainda no primeiro tempo, o árbitro Yuri Elino Ferreira da Cruz foi alvo de reclamações do time do Boavista quando encerrou a partida com a bola no ataque do time da casa. No segundo tempo, o juiz deixou de marcar falta claríssima de Jucilei em John Kennedy que culminaria na expulsão do volante, e ainda inverteu jogadas no ataque das duas equipes.

Xerém mata jogo no fim

O Fluminense tinha dificuldades para finalizar com eficiência quando Roger Machado mexeu no time: sacou Samuel e Lucca e colocou Kayky e John Kennedy no ataque. Com Xerém no comando, o segundo gol saiu e o Tricolor matou o jogo. Aos 43, a dupla funcionou: Kayky lançou John Kennedy, que invadiu a área pela direita e soltou uma bomba no ângulo, sem chances para Klever.

Gramado em péssimas condições

Apesar de ser uma das praças liberadas para receber os grandes no Campeonato Carioca, o Elcyr Resende apresentava um gramado em péssimas condições para o jogo. E o que já é ruim tende a piorar: com as proibições no estado de São Paulo e no município do Rio de Janeiro por causa da pandemia de coronavírus, o estádio na Região dos Lagos receberá dois jogos na próxima sexta-feira (26), um jogo no sábado e outro no domingo.

Transmissão recebe críticas nas redes sociais

O primeiro tempo foi de muitas críticas à transmissão. Nas redes sociais, torcedores do Fluminense reclamaram do serviço de streaming da FluTV para a partida, que não teve televisionamento da Record, detentora dos direitos de transmissão, e só estava disponível na internet e no canal de pay-per-view criado para o Campeonato Carioca.

FICHA TÉCNICA

BOAVISTA 0 x 2 FLUMINENSE

Data/Hora: 23/03/2021, às 18h
Local: Estádio Elcyr Resende de Mendonça, Saquarema (RJ)
Árbitro: Yuri Elino Ferreira da Cruz
Assistentes: Michael Correia e Thiago Rosa de Oliveira Esposito

Gols: Yago Felipe, aos quatro do 2º tempo, e John Kennedy, aos 43 do 2º tempo.
Cartões amarelos: Vitor Feijão, Caio Felipe, Leandrão, Jucilei (BOA), Igor Julião e John Kennedy (FLU)

BOAVISTA: Klever; Caio Felipe (Marquinhos), Douglas Pedroso, Elivelton (Israel), Jean Victor, Ralph, Jucilei, Fernando Bob, Jefferson Renan (Luis Felipe), Vitor Feijão e Michel Douglas. Técnico: Leandrão.

FLUMINENSE: Marcos Felipe; Igor Julião, Nino, Matheus Ferraz e Danilo Barcelos; Yago, Martinelli (Hudson), Gabriel Teixeira (Caio Paulista) e Michel Araújo (Wellington); Lucca (Kayky) e Samuel (John Kennedy). Técnico: Roger Machado.