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

São Paulo

Maldição no gol? Desde aposentadoria de Ceni, ninguém encantou no São Paulo

Sidão, Jandrei e Tiago Volpi, alguns dos goleiros do São Paulo na era pós-Ceni - Montagem UOL
Sidão, Jandrei e Tiago Volpi, alguns dos goleiros do São Paulo na era pós-Ceni Imagem: Montagem UOL

Thiago Braga

Do UOL, em São Paulo

01/09/2022 04h00

O São Paulo começa a decidir na noite desta quinta-feira (1), a vaga para a decisão da Sul-Americana. O rival é o Atlético-GO, que jogará a primeira partida em casa, no estádio Serra Dourada, às 21h30 (de Brasília). E para o jogo que pode recolocar o São Paulo em sua primeira final continental após dez anos, o Tricolor terá de estancar um problema que tem atormentado o time desde que Rogério Ceni se aposentou.

Goleiro mais icônico da história do São Paulo, Ceni parou de jogar no fim de 2015. De lá para cá, entre titulares e reservas, nove goleiros ocuparam a meta tricolor, mas nenhum convenceu a ponto de se tornar absoluto embaixo das traves do clube. Dênis, Renan Ribeiro, Sidão, Jean, Tiago Volpi, Lucas Perri, Jandrei, Thiago Couto e Felipe Alves foram os candidatos. Somadas as partidas de todos eles, são 455 jogos e 461 gols sofridos.

O primeiro a tentar ocupar a vaga do "Mito" foi Dênis. Contemporâneo de Ceni nos últimos anos de Rogério no São Paulo, era o substituto natural. Com ele, o São Paulo conseguiu chegar à semifinal da Libertadores em 2016. Mas o goleiro teve algumas falhas e não se firmou. E foi justamente Rogério Ceni, na sua primeira agem como treinador do clube, em 2017, que mandou Dênis para o banco. No fim daquele ano, Dênis deixou o Tricolor com um histórico de 78 jogos e 77 gols sofridos.

Rogério Ceni pediu a contratação de Sidão, que vinha de boas agens por Audax e Botafogo. Ele tinha uma qualidade que o diferenciava de Dênis: saber jogar bem com a bola nos pés. Depois de um início promissor, com defesas de pênaltis na Flórida Cup de 2017, as falhas começaram a aparecer. E Sidão foi embora depois de jogar 73 partidas e sofrer 72 gols.

Estava claro que substituir um gigante na história do clube seria mais difícil do que se imaginava e Fernando Prass, que ou por situação semelhante no Palmeiras, conta que o processo não é simples.

"A pressão de jogar num time grande é enorme. E tu chegando assim próximo da aposentadoria de um dos caras que foi o maior goleiro da história do clube e um dos maiores jogadores, é muito complicado. Porque o padrão de comparação deixa de ser um bom goleiro e a a ser um ícone do clube né? Então o tamanho do Rogério no São Paulo e do Marcos do Palmeiras é muito grande. É maior do que simplesmente um grande goleiro né? Então vai muito além das capacidades técnicas", explicou ao UOL Esporte o ex-goleiro Fernando Prass, hoje comentarista dos canais Disney. Ele se firmou no gol do Palmeiras depois de duas tentativas frustradas do rival do tricolor na busca por um sucessor para Marcos.

O terceiro candidato a titular da meta são-paulina foi o promissor Jean. Rogério já não era mais o treinador. Jean era o cobrador de faltas do time do Bahia, uma motivação especial para o torcedor que deu um crédito ao novo pretendente a herdeiro da posição de Ceni. Mas o que parecia ser uma grande virtude se mostrou um problema. Erros na saída de bola com os pés abalaram a confiança de Dorival Júnior, treinador daquele elenco que ou a testar Renan Ribeiro como alternativa para o gol. Um caso de violência doméstica, quando agrediu sua esposa, colocou um ponto final na agem de Jean pelo São Paulo depois de atuar em 21 jogos e sofrer 16 gols.

Enfim titular, Renan Ribeiro jogou 33 partidas, com 39 gols sofridos. Quando vivia seu melhor momento, ele foi negociado com o Estoril Praia, de Portugal, e deixou o São Paulo.

Qual foi o melhor goleiro do São Paulo desde a aposentadoria de Ceni?

Resultado parcial

Total de 179 votos