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

Brasileirão - 2019

Fluminense vence o Bahia e chega ao quinto jogo de invencibilidade

Do UOL, em São Paulo

12/10/2019 20h51

Em recuperação no Campeonato Brasileiro, o Fluminense venceu o Bahia por 2 a 0, em partida válida pela 25ª rodada. Com o resultado de hoje no Maracanã, o time comandado por Marcão chegou ao seu quinto jogo de invencibilidade, sendo três vitórias e dois empates, e assumiu momentaneamente a 13ª colocação, a última com vaga para a Copa Sul-Americana de 2020, com 29 pontos.

Os gols foram marcados por Nenê, de pênalti, e Danielzinho, num rebote de cabeça, ambos no primeiro tempo.

Já o Bahia enfrenta fase totalmente oposta: é o terceiro jogo sem vitórias. Estacionado nos 38 pontos, o time de Roger Machado permanece na oitava posição e pode ser ultraado pelo Athletico-PR, que enfrenta o Flamengo amanhã.

Danielzinho e Muriel brincaram no Dia das Crianças...

O meia de 23 anos foi o grande destaque do time do Fluminense no primeiro tempo. Daniel deu trabalho para a defesa baiana, ampliando o placar com um belo gol de cabeça.

Porém, após o intervalo, quem brilhou mesmo foi o goleiro Muriel. Em um espaço de cinco minutos, protagonizou três grandes defesas e não permitiu que o Bahia reagisse no jogo.

Muriel - Thiago Ribeiro/AGIF - Thiago Ribeiro/AGIF
Muriel foi um dos destaques do Fluminense no Maracanã
Imagem: Thiago Ribeiro/AGIF

Já João Pedro foi para o castigo!

Estreante no Bahia por conta da ausência de Nino Paraíba, João Pedro não foi tão bem no jogo. Foi o único amarelado em campo, no lance em que fez falta em Yony. Ele chegou a arriscar para o gol, mas viu Muriel fazer grande defesa.

Fluminense: aproveitando que a fase é boa

O Tricolor das Laranjeiras mostrou bastante consistência para garantir a vitória no Maracanã. No primeiro tempo, o ataque funcionou bem e conseguiu chegar ao intervalo com dois gols de vantagem. Já na etapa complementar, quem brilhou mesmo foi o goleiro Muriel, que fez ótimas defesas e impediu que o Bahia diminuísse.

Bahia: faltou sorte!

A noite de sábado não foi boa para o Tricolor de Aço. O time perdeu um impressionante gol no primeiro minuto de jogo e viu o Flu marcar dois gols ainda no primeiro tempo. Após o intervalo, Roger Machado tirou dois jogadores de meio para a entrada de mais atacantes. A troca funcionou e fez o time criar mais chances que nos 45 minutos iniciais, porém não consegui ultraar Muriel.

Pré-jogo comemorativo

Os momentos que antecederam o pontapé inicial foram repletos de comemorações e ações de ambos os times. Por conta do dia das crianças, comemorado hoje, o Fluminense distribuiu camisas de presente para os pequenos torcedores presentes no Maracanã.

Já o Bahia entrou em campo com o capitão Lucas Fonseca carregando uma imagem de Irmã Dulce ao invés da flâmula do time. A religiosa, que é de Salvador, será canonizada pelo Papa Francisco amanhã (12).

Além disso, os técnicos Marcão e Roger Machado, os únicos treinadores negros do Campeonato Brasileiro, permaneceram no banco de reservas com uma camiseta de uma campanha contra o racismo no futebol.

Roger Machado e Marcão - Thiago Ribeiro/AGIF - Thiago Ribeiro/AGIF
Roger Machado e Marcão vestiram camisa do Observatório da Discriminação Racial no Futebol
Imagem: Thiago Ribeiro/AGIF

Cronologia do jogo

O jogo mal havia começado e o Bahia já havia perdido uma chance inacreditável. Com apenas um minuto de jogo, o lateral João Pedro cruzou para Élber, que recebeu sozinho na pequena área, mas acabou mandando por cima do gol.

Aos 9, Marcão foi obrigado a fazer a sua primeira substituição no jogo. Isso porque Digão sentiu um incômodo muscular e indo bem cedo ao banco, dando lugar para Frazan. O zagueiro entregou a faixa de capitão para Nenê que, aos 19, abriu o placar no Maracanã, de pênalti, após João Pedro segurar Yony dentro da área.

Danielzinho fez um ótimo primeiro tempo, sendo coroado com o gol aos 44 minutos. Wellington Nem fez um ótimo cruzamento para João Pedro, que mandou na trave. No rebote, o meia de 1,62m subiu de cabeça para ampliar o placar.

Para tentar reagir, Roger Machado apostou na entrada de dois atacantes já no intervalo. A estratégia deu certo e o time chegou mais vezes ao gol, porém o treinador do Bahia não contava com a noite inspirada de Muriel.

O goleiro do Fluminense fez, pelo menos, três boas defesas, no segundo tempo: a primeira aos 10 minutos, após um belo chute de Élber, um minuto depois, na tentativa de João Pedro, e mais uma aos 15, parando o chutaço de Gilberto.

Fluminense 2 x 0 Bahia

Competição: Campeonato Brasileiro (25ª rodada)
Data: 12/10/2019
Hora: 19h (de Brasília)
Local: Estádio do Maracanã, no Rio de Janeiro (RJ)
Árbitro: Heber Roberto Lopes (SC)
Assistentes: Henrique Neu Ribeiro e Alex dos Santos (ambos de SC)
VAR: Rafael Traci (SC)
Público e renda: 16.880 pagantes e R$ 410.305,00 de renda

Gols: Nenê, aos 19', e Daniel, aos 44' do primeiro tempo.

Cartões amarelos: João Pedro (Bahia)

Fluminense: Muriel, Gilberto, Nino, Digão (Frazan) e Orinho; Airton (Dodi), Daniel e Nenê; Wellington Nem (Guilherme), João Pedro e Yony. Técnico: Marcão

Bahia: Douglas, João Pedro, Lucas Fonseca, Juninho e Giovanni; Gregore, Flávio, Ronaldo (Arthur Caíke) e Guerra (Lucca); Élber (Rogério) e Gilberto. Técnico: Roger Machado