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

Como Roger Machado pretende 'equilibrar' Fluminense após erros repetidos

Roger Machado deve fazer mudanças no Fluminense após erros repetidos no Carioca - THIAGO RIBEIRO/ESTADÃO CONTEÚDO
Roger Machado deve fazer mudanças no Fluminense após erros repetidos no Carioca Imagem: THIAGO RIBEIRO/ESTADÃO CONTEÚDO

Caio Blois

Do UOL, no Rio de Janeiro

31/03/2021 04h00

Roger Machado itiu erros repetidos do Fluminense após empate com o Vasco e indicou que fará mudanças no time. Sem adiantar se trocará peças ou estrutura, o técnico ressaltou que está em busca de equilibrar a equipe entre defesa e ataque.

Embora não trate o Carioca como um verdadeiro laboratório, Roger pretende utilizar as partidas do Estadual antes de estrear na Copa Libertadores para fazer testes. Alguns ajustes ao seu estilo já foram vistos, como os pontas menos abertos, Fred recuando menos, Nenê um pouco mais atrás e os laterais mais soltos. O problema é que as ideias mais ofensivas têm desguarnecido o sistema defensivo.

Em treinamentos e até algumas situações de jogo, o técnico testou a equipe com um jogador a mais no meio de campo: Wellington ou Michel Araújo. Os dois são as principais opções para uma mudança de peças. Com fraco rendimento em 2021, Lucca parece a bola da vez para deixar o time.

Lucca é a bola da vez para deixar o time titular do Fluminense de Roger Machado  - Lucas Mercon/Fluminense FC - Lucas Mercon/Fluminense FC
Lucca é a bola da vez para deixar o time titular do Fluminense de Roger Machado
Imagem: Lucas Mercon/Fluminense FC

Assim como na temporada ada, o Tricolor segue dependente de sua eficiência no ataque para não sofrer na defesa. Sem finalizar muito ou ser agressivo, o Flu tem na bola parada sua principal arma, embora abra mais espaços e troque mais es no campo de ataque com Roger Machado. Como não finaliza as jogadas, cede contra-ataques, e em desvantagem numérica, sofre mais do que deve.

"Precisamos equilibrar, encontrar isso a partir da troca do sistema ou da característica de algum jogador para atacar com volume, mas sem sofrer contra-ataques como estamos sofrendo. Parece que estamos fazendo uma briga de rua, estamos cedendo muitos espaços. Não vai ser sempre que o adversário não vai aproveitar as chances no contra-ataque", afirmou o treinador após o empate com o Vasco.

Ataque e defesa podem ter mudanças

Além da estrutura de marcação e criação, o ataque também tem errado bastante. Em compensação, Gabriel Teixeira e Kayky pedem agem, e viraram opções importantes. Se não virarem titulares nos próximos jogos, a dupla deve ganhar mais minutos em campo e oportunidades de evoluir.

Gabriel Teixeira e Kayky se destacam no Fluminense e pedem agem - ALEXANDRE NETO/ESTADÃO CONTEÚDO - ALEXANDRE NETO/ESTADÃO CONTEÚDO
Gabriel Teixeira e Kayky se destacam no Fluminense e pedem agem
Imagem: ALEXANDRE NETO/ESTADÃO CONTEÚDO

Mesmo que o técnico opte por sacar Lucca para a entrada de mais um jogador de meio campo, Luiz Henrique não tem vaga garantida entre os titulares. O jovem de Xerém teve bom rendimento em 2020, mas não começou bem a nova temporada. Com a ascensão dos jovens e a potencial chegada de reforços para o setor no mercado da bola, o camisa 39 pode voltar ao banco de reservas.

Um reforço em especial é muito aguardado: Luccas Claro, destaque da zaga na última temporada, segue fora do time e ainda não estreou com Roger. Seu retorno faria o Tricolor voltar a jogar com a primeira linha de defesa titular. Em sua ausência, os substitutos não foram bem e acumularam falhas. Não à toa, o Flu negocia com David Braz, do Grêmio, para a posição, já que o Goiás não aceitou as tentativas do clube para ter David Duarte.

Fluminense