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

Eliminatórias Sul-Americanas

Raphinha vibra por estreia na seleção com assistências: "Vale como gol"

Raphinha em ação pela seleção brasileira contra a Venezuela - Lucas Figueiredo/CBF
Raphinha em ação pela seleção brasileira contra a Venezuela Imagem: Lucas Figueiredo/CBF

Do UOL, no Rio de Janeiro

08/10/2021 01h26

Mesmo sem balançar as redes, o estreante Raphinha foi o protagonista do segundo tempo e da virada do Brasil sobre a Venezuela, pelas Eliminatórias da Copa. O resultado de 3 a 1 foi construído após uma reação na etapa final, quando o meia-atacante do Leeds entrou na partida, substituindo Everton Ribeiro logo após o intervalo.

Raphinha bateu o escanteio que gerou o gol de cabeça de Marquinhos e foi o autor do e para o terceiro do Brasil, anotado por Antony. Ele ainda participou da jogada que resultou no pênalti sobre Gabigol, convertido pelo próprio atacante.

"Significa muita coisa. Assistência vale o mesmo que um gol. Eu, por ser um jogador de beirada, claro que gosto do gol. Mas quando consigo fazer assistência eu também fico muito feliz. Não só pela assistência, mas pela partida que eu consegui fazer, aquilo que consegui demonstrar dentro do campo. E, claro, pela vitória que mantém a nossa invencibilidade. Isso é muito importante", disse Raphinha, ao sair do estádio.

O efeito imediato na primeira partida com a camisa da seleção já o motiva para mirar um espaço fixo entre os titulares. Sobretudo porque o Brasil está em um momento de redescoberta de um modo de criação eficaz. A concorrência direta em Caracas foi com Éverton Ribeiro, mas a seleção tem mais gente no setor ofensivo que nem convocada está no momento, como Richarlison e Firmino, o que pode reduzir espaços na lista do treinador, sobretudo porque Gabriel Jesus é estimado pela comissão técnica e também pode atuar aberto pela ponta direita.

"Sem dúvida. É sempre bom fazer um bom jogo e colocar a responsabilidade para cima do treinador. Lógico que respeitando os companheiros, que nesse caso é o Éverton. É uma dúvida boa para ele. Mas estou aí para mostrar meu trabalho, meu futebol", completou Raphinha, aliviado por finalmente estrear, já que em setembro teve liberação vetada pelo Leeds.

"Eu estava muito ansioso para fazer essa estreia depois de não poder ter vindo na primeira vez. Me deixou ainda mais ansioso de poder estar aqui. Acredito que dei o meu melhor para o jogo acontecer o melhor possível individualmente e consequentemente ajudar os meus companheiros", finalizou.

O Brasil de Raphinha agora volta à Colômbia, onde enfrenta a seleção da casa no domingo (10), por mais uma rodada das Eliminatórias. A equipe treinada por Tite lidera a corrida rumo ao Qatar com 100% de aproveitamento: são nove vitórias em nove jogos.