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

OPINIÃO

Trajano: São Paulo deixou de ganhar o clássico porque Ceni quis aparecer

Colaboração para o UOL, em Aracaju

24/05/2022 17h52

Se pelo Corinthians o goleiro Cássio foi o nome do empate no Majestoso, no São Paulo o técnico Rogério Ceni foi bastante questionado por ter feito três alterações ainda no intervalo com o time vencendo por 1 a 0. Após as mexidas do treinador, o Tricolor viu o Timão crescer no clássico e buscar o empate por 1 a 1 que o manteve na ponta do Brasileirão.

No Cartão Vermelho #12, transmitido nesta terça-feira (24) pelo UOL Esporte, os jornalistas Juca Kfouri e José Trajano elogiaram a boa atuação do São Paulo no primeiro tempo na Neo Química Arena, mas questionaram as mudanças feitas por Ceni no intervalo. Segundo Trajano, o técnico quis a vitória mas acabou saindo da zona leste com o empate.

"O Rogério não se contém, ele é uma figura que não se basta, tem que aparecer, poderia ter ficado na dele com um primeiro tempo que o São Paulo era para ter vencido e bem, mas ele não se basta, tem que dar um jeito de mudar, não era o bastante para ele, e deu no que deu."

"O Rogério Ceni no São Paulo agora pela segunda vez tem mostrado mais serviço, um São Paulo mais bem organizado, mas ainda tem alguma coisa no Rogério que incomoda. Talvez seja isso que aconteceu no jogo com o Corinthians, ele deixou de ganhar porque precisa colocar o dedo na história", opinou Trajano.

Juca elogiou o volume de jogo do Tricolor pelo lado esquerdo do primeiro tempo e, por isso mesmo, não entendeu a saída de Reinaldo, principal jogador da equipe pelo setor. Na opinião do colunista do UOL, muitos treinadores hoje pesam a mão no aspecto tático e deixam de observar outros componentes intrínsecos ao futebol.

"O São Paulo demorou 17 minutos para voltar para o segundo tempo, o Ceni esperou para ver as alterações que o Corinthians faria. Com as informações, ele tirou três jogadores que estavam jogando bem, sendo que um deles, o Reinaldo, que é um jogador que a torcida do São Paulo implica muito pelas falhas defensivas, estava matando a pau como ala, era a principal arma do São Paulo pela esquerda, o São Paulo teve oito escanteios pelo lado dele, e ele sacou o Reinaldo."

"Eu fico pensando como fica a cabeça do jogador, que diz 'estou jogando uma barbaridade, não estou cansado, por que esse cara me tirou, o que mais eu preciso fazer', deve bater uma insegurança. Às vezes há um excesso de tatiquês que deixa de levar em conta o momento do jogador em campo, a capacidade de improvisar, de com seu talento mudar a história de um jogo, e a necessidade que alguns treinadores têm de por tudo dentro de escaninhos, o futebol não é isso", completou Juca.

A próxima edição da live do programa Cartão Vermelho será na próxima terça-feira (31). Você pode acompanhar a live pelo Canal UOL, no app Placar UOL, na página do UOL Esporte ou no canal do UOL Esporte no Youtube.