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

Botafogo

Botafogo vence Nova Iguaçu e vai à final da Taça Rio contra Vasco

09/05/2021 20h06

Neste domingo, Nova Iguaçu e Botafogo duelaram pelo jogo de volta da semifinal da Taça Rio, no Estádio Nilton Santos. Como o Nova tinha a vantagem do empate —pela campanha superior na Taça Guanabara—, somente a vitória bastava para o Glorioso. Assim, graças a um golaço de Pedro Castro na etapa final, a equipe de Chamusca venceu por 1 a 0, superando a adversidade de ter um menos, com a expulsão de Marcinho. Dessa forma, se classificou para a final da competição alternativa, para enfrentar o Vasco.

Chance rara

Após um início de jogo muito lento e com poucas brechas para oportunidades claras, o Glorioso saiu da mesmice e conseguiu uma jogada lúcida que causou perigo. Isso porque, depois de rodar bastante a bola de um lado para o outro, Sousa acelerou a armação para Marco Antônio, que lançou por cobertura para Pedro Castro. O jogador, que atuou em uma função mais avançada, entrou na área e finalizou forte, mas viu a bola explodir no travessão do goleiro Luis Henrique.

Acorda o Nova

Após 45 minutos de um jogo lento, com poucas alternativas e baixo nível técnico, o Nova Iguaçu finalmente fez sua primeira finalização. Depois de uma falta lateralizada, já nos acréscimos, o meia Dieguinho resolveu testar Douglas Borges e cobrou direto para o gol. Assim, o goleiro do Alvinegro espalmou no reflexo e, na sobra, Matheus Nascimento afastou.

Foi bem devagar, mesmo

Vale ressaltar que o primeiro tempo terminou com apenas quatro finalizações, sendo três delas do Botafogo. No entanto, além da boa e rara chegada de Pedro Castro, o único lance de perigo que o Glorioso criou foi com Matheus Frizzo, após cruzamento de Marco Antônio, que já havia deixado a bola sair. Logo, embora tenha terminado os primeiros 45 minutos com 65% de posse de bola, a equipe de Chamusca apresentou ividade para criar jogadas e a habitual problemática na ligação do meio campo, com o isolado Matheus Nascimento.

Pedro Castro decide

Se até então faltava criatividade ao Botafogo na partida, não dá para falar que tenha faltado categoria para Pedro Castro na hora de definir o placar. Aos 28 do segundo tempo, Warley fez lançamento de trás do meio campo, Marcinho desviou de chaleira e o meia dominou a bola no bico da área. Ele, então, ajeitou o corpo e mandou um lindo chute no ângulo direito de Luis Henrique. Foi seu terceiro gol em seis partidas pelo Glorioso.

Marcinho expulso

Logo após entrar, Marcinho fez falta infantil em Dieguinho, na altura do meio campo. No final da partida, o jogador foi novamente imprudente e e levou o vermelho ao fazer falta dura em Vandinho, deixando o Botafogo a perigo.

Quase o empate

Com um a mais em campo, o Nova Iguaçu decidiu atacar a todo custo. Assim, depois de cobrança de lateral de Anderson Kunzel, a defesa Alvinegra bobeou na marcação, e Mezenga, livre, cabeceou, mas viu a bola ar muito perto do gol de Douglas Borges.

FICHA TÉCNICA
Nova Iguaçu x Botafogo


Data e horário: 09/05/2021, às 18h
Local: Estádio Nilton Santos, no Rio de Janeiro (RJ)
Árbitro: Alex Gomes Stefano
Assistentes: Thiago Rosa de Oliveira Espósito e Lilian da Silva Fernandes Bruno

Gols: Pedro Castro (28'/2ºT) (BOT)

Cartões amarelos: Abuda, Canela e Rafinha (NIG); Ronald, Romildo, Pedro Castro, Marcinho, Paulo Victor e Douglas Borges (BOT).

Cartão vermelho: Marcinho

NOVA IGUAÇU: Luis Henrique; Digão, André Santos, Mezenga e Rafinha; Abuda (João Pedro, 42'/2ºT), Vandinho, Dieguinho (Andrey, 41'/2ºT) e Anderson Kunzel ; Yan (Canela, 18'/2ºT) e Luã (Ewerton, 45'/2ºT). Técnico: Carlos Vitor.

BOTAFOGO: Douglas Borges; Warley, Kanu, Sousa e Paulo Victor; Matheus Frizzo, Pedro Castro (Rickson, 35'/2ºT) e Romildo (Rafael Navarro, 14'/2ºT); Ronald (Jonathan, 35'/2ºT), Marco Antônio (Ênio, 26'/2ºT) e Matheus Nascimento (Marcinho, 26'/2ºT). Técnico: Marcelo Chamusca

E MAIS:

Botafogo