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

Podcast

UOL Flamengo

O podcast para a nação rubro-negra


OPINIÃO

UOL Flamengo #31: Fla de Renato Gaúcho regrediu na forma de jogar

Do UOL, em São Paulo

28/09/2021 16h00

Nos últimos jogos, o Flamengo encontrou algumas dificuldades e deixou sua torcida preocupada para o segundo duelo contra o Barcelona-EQU pelas semifinais da Libertadores. Apesar da vantagem obtida no jogo de ida, com a vitória por 2 a 0 no Maracanã, o desempenho do time nos duelos contra Grêmio (derrota por 1 a 0) e América-MG (empate por 1 a 1), elevou a temperatura das críticas ao trabalho de Renato Gaúcho.

No podcast UOL Flamengo #31 (ouça na íntegra no episódio acima), o apresentador Vanderlei Lima, o colunista Mauro Cezar Pereira e o setorista Leo Burlá discutem a queda de rendimento do time do Flamengo em suas últimas partidas, muito por conta de algumas escolhas do técnico Renato Gaúcho.

"O time regrediu bastante na sua forma de jogar. Quando o Fla do Renato Gaúcho encontra um cenário favorável e o adversário oferece espaço, o time de fato está mais veloz e definindo mais rapidamente. Como tem jogadores de um nível muito alto para o nosso futebol, isso acaba funcionando. Mas isso não é o mais comum. Você encontra mais vezes times que jogam fechados e exigem uma saída de bola mais qualificada. O Flamengo tinha essa característica, que se perdeu com o Renato", observou Mauro.

Burlá destacou que o Fla deve contar com os retornos de Arrascaeta e Filipe Luis para o duelo em Guayaquil, o que deve proporcionar uma melhor organização na armação das jogadas. "Podemos imaginar um acréscimo imenso. São dois jogadores que constroem demais. O Filipe Luis faz um balanço defensivo e ofensivo como poucos no Brasil. É um jogador muito valioso, que dará uma solidez defensiva enorme. O Arrascaeta é muito diferente do nosso padrão", analisou o repórter, ressaltando como ambos melhoram a saída de bola da equipe, um problema apontado por Mauro.

Para o colunista, o time rubro-negro já não exibe mais a paciência de outros tempos, principalmente diante de rivais que atuam de forma mais defensiva. "Isso ficou bem claro no jogo contra o América-MG, no qual a saída de bola foi um horror. O Willian Arão lançava a bola para o Pedro, que jogava de centroavante, tentar se virar na altura do meio do campo. Era algo bem rústico, digamos assim, o que simboliza muito bem essa mudança de mentalidade e a clara queda do padrão de jogo do Flamengo", opinou.

O setorista também chamou a atenção para a postura dos rubro-negros no jogo do último domingo. "Além da questão técnica, achei o Flamengo muito 'nariz em pé', muito 'uma hora dou meu jeito de ganhar'. A gente sabe que a banda não toca bem assim. Mas assustou muito e lembrou um Fla versão 2013, com bico para o Hernane Brocador. O Pedro teve que dominar uns 15 tijolos que mandaram para ele. Com a volta desse time titular em campo, acredito que o Flamengo possa apresentar um futebol bem melhor", avaliou Burlá.

Contra o Barcelona-EQU, Mauro projeta um panorama mais favorável às ideias de Renato Gaúcho, mas o time equatoriano se mostra um adversário dos mais perigosos. "Nesse jogo contra o Barcelona-EQU talvez seja diferente, porque eles precisam fazer dois gols e não tomar nenhum. Deve atacar bastante o Flamengo, como fez no Maracanã. É um time muito corajoso. Pode ser que esse desenho de que o Renato tanto gosta, com muito campo para jogar e definindo as jogadas rapidamente, provavelmente se apresente. Isso não significa que vá ser simples", completou o colunista.

Ouça o podcast UOL Flamengo e confira também a discussão sobre o que o Flamengo deve esperar para o duelo contra o Barcelona-EQU em Guayaquil.

Os podcasts do UOL estão disponíveis em uol.com.br/podcasts e em todas as plataformas de distribuição de áudio. Você pode ouvir UOL Flamengo, por exemplo, no Spotify, Apple Podcasts, Amazon Music e YouTube.