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

Bahia vence o Corinthians e deixa zona de rebaixamento

Do UOL, em São Paulo (SP)

28/01/2021 21h00

O Bahia venceu o Corinthians por 2 a 1 hoje (28), na Arena Fonte Nova, em jogo atrasado da 30ª rodada do Campeonato Brasileiro. O resultado retirou os baianos da zona de rebaixamento. O Tricolor chegou aos 35 pontos e pulou da 17ª para a 16ª colocação, deixando o Fortaleza para trás. Gilberto e Ramírez marcaram os gols para os baianos no primeiro tempo, enquanto Gabriel descontou para o time paulista na segunda etapa.

O Timão perdia uma posição na tabela (para o Santos) por conta do saldo de gols, quando era derrotado por 2 a 0, mas o tento de Gabriel serviu para manter o Corinthians na nona colocação, com 45 pontos.

Após perder para o Bahia, o Corinthians enfrenta o Ceará na próxima quarta-feira, na Neo Química Arena, às 21h30 (de Brasília), pelo Brasileiro. O Bahia, por sua vez, enfrenta o Vasco, fora de casa, no próximo domingo (31).

Quem foi bem: Ramírez faz golaço

Ramirez - Jhony Pinho/AGIF - Jhony Pinho/AGIF
Imagem: Jhony Pinho/AGIF

O meio-campista do Bahia, Índio Ramírez, marcou um golaço ao driblar a defesa do Corinthians e finalizar na saída de Cássio. Além disso, ele acertou a maioria dos es e ajudou na marcação.

Quem foi mal: Fábio Santos erra muito

O lateral Fábio Santos, que não foi bem nas derrotas contra Palmeiras e Red Bull Bragantino, voltou a jogar mal. O veterano errou no início da jogada do segundo gol do Bahia e ainda foi facilmente driblado na sequência. Além disso, o lateral exagerou nos erros de cruzamentos quando apoiava o ataque.

Cássio 500

Cássio - Jhony Pinho/AGIF - Jhony Pinho/AGIF
Imagem: Jhony Pinho/AGIF

O goleiro Cássio completou contra o Bahia o jogo de número 500 com a camisa do Corinthians, mas a noite não acabou do modo como esperava. O camisa 12 recebeu diversas homenagens do clube e de personalidades do futebol durante o dia. Em campo, há quem diga que Cássio poderia ter sido melhor nos dois gols do time baiano no primeiro tempo. Já no segundo tempo, o goleiro fez uma defesa no "melhor estilo" Cássio, quando interceptou finalização de Thiago Andrade na pequena área.

Corinthians dominou, mas perdeu

O Corinthians dominou o primeiro tempo na Arena Fonte Nova, mas perdeu por 2 a 0. O time marcou alto, pressionou e criou jogadas de ataque, a maioria do lado direito, com Fagner e Gustavo Mosquito. O problema é que os jogadores erraram bastante a "última decisão". Quando era para finalizar, cruzava, quando era para cruzar finalizava... Sem contar os es e cruzamentos errados. No segundo tempo, o Timão manteve o domínio e levou alguns sustos em contra-ataques do Bahia. O Timão até descontou com Gabriel após bela assistência de Gabriel Pereira, mas não conseguiu buscar o empate. A equipe de Mancini até pressionou na reta final da partida, mas sem sucesso.

VAR em ação

O VAR foi acionado para analisar a posição de Gilberto no primeiro gol do Bahia, mas confirmou que o atacante estava em posição legal. Em seguida, o VAR foi acionado para avaliar a condição de Araos, que marcou de cabeça o que seria o gol de empate do Corinthians. Neste caso, o árbitro de vídeo confirmou a decisão do "bandeirinha" e anulou o gol. Na segunda etapa, Bruno Méndez cabeceou e a bola acertou o braço de Ernando. O VAR demorou bastante para decidir, mas não marcou o pênalti.

FICHA TÉCNICA:
BAHIA 2 X 1 CORINTHIANS

Data: 28/01/2021, às 19h (de Brasília)
Local: Arena Fonte Nova, em Salvador
Árbitro: Ricardo Marques Ribeiro (MG)
Assistentes: Guilherme Dias Camilo e Celso Luiz da Silva (ambos de MG)
VAR: Igor Junio Benevenuto de Oliveira (MG)
Cartões amarelos: Gregore, Juan Ramírez, Ramon (BAH); Jô (COR)

GOLS:
Bahia: Gilberto, aos 31 minutos, e Índio Ramírez, aos 49 minutos do 1º tempo
Corinthians: Gabriel, aos 25 minutos do 2º tempo

BAHIA: Douglas Friedrich; Nino Paraíba, Ernando, Lucas Fonseca (Juninho) e Matheus Bahia (Juninho Capixaba); Gregore e Ronaldo; Rossi (João Pedro), Índio Ramírez (Ramon) e Thiago Andrade; Gilberto (Alesson)
Técnico: Dado Cavalcanti

CORINTHIANS: Cássio; Fagner, Bruno Méndez, Gil e Fábio Santos (Raul); Gabriel, Cantillo (Camacho) e Araos (Cafú); Mosquito (Gabriel Pereira), Vital (Éderson) e Jô
Técnico: Vagner Mancini