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

Vasco

Raniel alcança recorde pessoal e Souza vê briga acirrar no ataque do Vasco

Raniel e Nenê comemoram gol do Vasco contra o Londrina, na Série B do Brasileirão - Daniel RAMALHO / CRVG
Raniel e Nenê comemoram gol do Vasco contra o Londrina, na Série B do Brasileirão Imagem: Daniel RAMALHO / CRVG

Do UOL, no Rio de Janeiro (RJ)

20/06/2022 04h00

Raniel encerrou o jejum, garantiu a vitória do Vasco sobre o Londrina e, de quebra, já fez de 2022 a temporada mais goleadora da carreira. O camisa 9 cruz-maltino anotou 10 gols no ano, e colocou a famosa "pulga atrás da orelha" do recém-chegado técnico Maurício Souza. O triunfo fez a equipe da Colina chegar à vice-liderança da Série B do Campeonato Brasileiro.

Reforço do clube de São Januário na janela do início do ano, Raniel chegou por empréstimo junto ao Santos. Teve um bom começo de caminhada no novo clube, mas, em meio a oscilações, ainda busca superar de vez a desconfiança e se firmar no time de vez.

Até então, Raniel havia balançado a rede mais vezes em 2018, quando marcou nove gols com a camisa do Cruzeiro. Ele é o artilheiro do Vasco no ano, seguido por Nenê, com oito, e Gabriel Pec, com quatro, e o último gol tinha sido na vitória sobre a Ponte Preta, no fim de abril.

"É bom voltar a marcar. Atacante vive de gols, né? Agradeço a Deus pela oportunidade e por estar sempre me dando forças, e à nossa equipe também, porque sem eles não consigo nada. O mais importante são os três pontos que a gente mereceu - disse Raniel na saída de campo", disse, ao Premiere, ao deixar o gramado do Estádio do Café.

O gol também se torna um ingrediente na acirrada disputa no ataque, em meio às dúvidas que o setor ainda gera. Getúlio, principal concorrente pela vaga no time, foi o autor do gol que deu o triunfo sobre o Cruzeiro, na rodada anterior.

A dor de cabeça não chega a ser nova, e os testes já eram pauta sob o comando de Zé Ricardo. Assim como o técnico anterior, Maurício Souza salienta o bom ambiente hoje no Cruz-Maltino, e a briga sadia para estar na equipe inicial.

"O Vasco tem um time muito homogêneo. O Raniel, hoje, fez o gol, e o Getúlio fez o gol na vitória contra o Cruzeiro. O que eu tenho ado para eles é que vamos viver um ambiente de justiça, e as coisas vão ser resolvidas dentro do campo. Quem tiver melhor naquele momento, vai jogar. E isso não quer dizer que vai ser titular o tempo todo", disse.

"Eles sabem disso. O Getúlio compreendeu completamente a saída, o Raniel fez o gol e abraçou o Getúlio. É um grupo extremamente unido, só quem está vivendo esse momento sabe. Falar que um é titular e outro é reserva... Acho que o campo vai dizer isso, o dia a dia. São dois atletas trabalhadores, com nível para ser titular. E é claro que eu prefiro ter esse problema (risos), porque tira um e coloca o outro e o nível continua", completou.

Vale ressaltar ainda que Figueiredo, centroavante de origem, vem atuando mais aberto e "corre por fora". Erick, que foi acionado contra o Londrina, e Zé Santos também se tornam opções para o setor.

Vasco