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

Flamengo

OPINIÃO

'Flamengo não está pronto': RMP alerta para esquema de VP no Mundial

Do UOL, em São Paulo

30/01/2023 10h29

O Palmeiras venceu o Flamengo por 4 a 3 no último sábado, garantindo a conquista da Supercopa do Brasil de 2023.

O Posse de Bola analisou a partida. Para Renato Mauricio Prado, o Flamengo está em um estágio diferente do Palmeiras. O colunista enxerga o alviverde "pronto", enquanto o rubro-negro precisa de ajustes.

"No Flamengo, o Vítor Pereira vai encontrar um problema ali. Ele falou que não ia pintar a casa, fazer grandes modificações no time do Dorival, mas no primeiro tempo ele fez uma modificação que desarmou o time. Ele empurrou o Everton Ribeiro para a frente. Qual foi a grande sacada do Dorival? Ter feito o losango no meio-campo. O Vítor Pereira já mudou. Está jogando praticamente com dois volantes um na frente do outro, o Thiago Maia e o Gerson, que está sem ritmo, e empurrou o Everton Ribeiro para a frente. Deu no que deu", disse Renato Mauricio Prado.

"Vamos ver o que o Vítor Pereira vai querer armar para o Mundial. Principalmente para o primeiro jogo, a semifinal, esse é o grande problema. Perder para o Real Madrid não é vexame. A menos que leve uma sapatada. É possível até ganhar. O problema é o primeiro jogo. Porque perder o primeiro jogo é que nem beisebol, que três strikes eliminam. O primeiro strike foi a Supercopa. O segundo é a semifinal do Mundial. O terceiro é a Recopa Sul-Americana. Ele não pode tomar três strikes, senão a sogra dele vai ter uma piora repentina e avassaladora", finalizou o colunista.

Abel sempre coloca Palmeiras como vítima da arbitragem

"A gente tem uma situação que foi, digamos, turbinada durante o tempo, essa de 'nós contra todos', a questão de ver o jogo sob o viés da arbitragem. No Brasil, é uma coisa muito mais do Palmeiras do que de qualquer outro time. E o Abel Ferreira é o responsável por isso. O Abel Ferreira e seu comportamento na beira do campo, na vitória ou na derrota, são os grandes responsáveis por isso", disse Arnaldo Ribeiro.

Recado de RMP para Vítor Pereira

"Arturo Vidal, agradece, tira foto, manda embora. Já era, ex-jogador em atividade. Entrou e não acertou um e. Não dá para contar. E outra coisa, vou falar com o Vítor Pereira. Arrascaeta não se tira de campo nem com uma perna só. Arrascaeta, sem jogar nada no primeiro tempo, arrumou um pênalti. Não estava bem no segundo tempo, mas é muito melhor que Everton Cebolinha e outros", disse Renato Mauricio Prado.

Abel ser vencedor aumenta raiva dos rivais

"Ele conseguiu captar muito rápido o que o palmeirense gosta. No Palmeiras, há muito 'todos contra nós'. É um negócio que vem até dos tempos do Felipão. Eu vejo muito do Felipão no Abel Ferreira, não no estilo de jogo, mas no comportamento. No jeito de reclamar da imprensa, enfrentar os repórteres, no jeito até de dar uma cutucada nos jogadores durante as coletivas", analisou o colunista Danilo Lavieri.

Torcedor do Corinthians deve se preocupar?

"Não é que o Corinthians tenha jogado fechadinho e deu contra-ataques mortais. Deu quatro chutes a gol e fez dois. Agora, dá para acreditar que o Corinthians vá ter sempre esse índice de acerto? É pouco provável. Eu vi muito mais incompetência do São Paulo em chegar ao gol, e principalmente não entendi porque o Luciano não começou jogando", destacou Renato Mauricio Prado.

São Paulo precisa de atuações coletivas perfeitas

"Um time cada vez mais à feição do Rogério é também um time que tem menos jogadores decisivos. Quando se anunciou que o São Paulo em 2023 seria mais jovem, mais físico, mais "Fortaleza", está no pacote que não vai ter craque para decidir jogo", analisou Arnaldo Ribeiro.

Luciano no banco e Galoppo nem relacionado

"O Luciano foi titular, camisa 10, como pseudo-armador do São Paulo, até o jogo contra o Corinthians. A minha conclusão é que o Rogério pensou certo no início, porque o Corinthians concentra seus jogos no meio do campo. E o Luciano não compõe o meio de campo, é mais um atacante. O Rogério pensou em três no meio, ao invés de dois apenas", analisou Arnaldo Ribeiro.

Confira o programa na íntegra

Flamengo