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

Fluminense

Roger vê Flu forte após virada sobre Santa Fe: 'torcedor dorme feliz hoje'

Roger Machado exaltou a força do Fluminense após virada sobre o Independiente Santa Fe na Libertadores - Lucas Merçon/Fluminense F.C.
Roger Machado exaltou a força do Fluminense após virada sobre o Independiente Santa Fe na Libertadores Imagem: Lucas Merçon/Fluminense F.C.

Caio Blois

Do UOL, no Rio de Janeiro

13/05/2021 00h12

A virada sobre o Santa Fe colocou o Fluminense muito perto da classificação às oitavas de final da Libertadores. Em coletiva após a vitória por 2 a 1 no Maracanã, Roger Machado exaltou a força do Tricolor, que não jogou bem, mas saiu com a vitória.

"A gente tem sentido esse acolhimento do torcedor, sabendo que pegamos um grupo muito difícil. A expectativa do ambiente externo é que teríamos dificuldade para ser competitivo nesse grupo. Jogando muitas vezes ao estilo da Libertadores, estamos liderando o grupo. Vencer que é bom. Quando conseguirmos jogar, vamos priorizar a posse. Quando não conseguir, vamos competir e o torcedor vai dormir feliz hoje", declarou.

O treinador discordou das análises de que o Flu sofreu mais do que deveria contra o time colombiano, e destacou a solidez da equipe.

"Acho que a nossa equipe é sólida. Adversário, embora tenha tido maior volume de jogo, às vezes que finalizou ou finalizou de fora da área ou desequilibrado. Temos média de menos de um gol sofrido por partida. Isso denota que é sólida a defesa. A questão é que estamos enfrentando dentro de um grupo duas equipes excepcionalmente talentosas no manejo da bola, que têm em sua característica a posse de bola. Inevitavelmente vai sofrer um pouco mais. Nos surpreendeu marcando alto dentro do nosso estádio", afirmou.

Roger também falou especificamente de Caio Paulista, que marcou o gol da virada. O jovem de 23 anos já foi até a última opção para as pontas, mas saiu como heroi na Libertadores.

"Hoje não me preocupa em nada os nomes que vão pra campo porque a gente está sempre bem servido. No início do campeonato, falei para o Caio que estaria ando o Kayky e o Biel para vê-los em campo, mas que isso não seria um desprestígio, porque o conhecia mais e sabia o que podia fazer. Ele não abaixou a cabeça e trabalhou forte", disse.

Com oito pontos, o Fluminense é o líder do grupo D da Libertadores. Antes do confronto com o Junior-COL, também no Maracanã, na terça (18), o Tricolor faz o primeiro jogo da final do Campeonato Carioca contra o Flamengo, no sábado, às 21h05.

Fluminense