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

Coluna do PVC

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Os quatro técnicos favoritos para assumir a seleção brasileira

Paulo Vinicius Coelho

Colunista do UOL

03/02/2023 04h01

Receba os novos posts desta coluna no seu e-mail

Email inválido

O presidente da CBF, Ednaldo Rodrigues, viajará para o exterior na semana que vem, para assistir à semifinal do Flamengo no Mundial de Clubes. Em seguida, esticará o périplo até a Europa em busca de um nome de consenso para treinar a seleção brasileira. Nos bastidores da CBF, exclui-se qualquer possibilidade de Pep Guardiola, mantém-se a expectativa sobre Carlo Ancelotti e o nome de Jorge Jesus, considerado frágil há dois meses, aparece como uma possibilidade.

Neste momento, há quatro nomes em posição de vantagem: Luis Enrique, José Mourinho, Carlo Ancelotti e Jorge Jesus.

É cedo para ter certeza se algum deles será o escolhido. Muito cedo.

Mas é possível compreender o que há de favorável e contrário aos quatro nomes favoritos deste momento. Leia abaixo:

CARLO ANCELOTTI

O nome mais consensual, recordista de Champions League, único homem na história a ganhar os campeonatos da Itália, França, Espanha, Inglaterra e Alemanha, tem portanto a capacidade camaleônica de se adaptar a qualquer cultura. Mas já afirmou que não se mexerá do Real Madrid, a não ser que seja demitido. Ocorre que isto pode acontecer, se perder o Campeonato Espanhol desta temporada para o Barcelona e não vencer a Champions League nem o Mundial de Clubes. É improvável ter Ancelotti na seleção. Não impossível.

JOSÉ MOURINHO

Já recusou a seleção portuguesa, por seu compromisso com a Roma. Não parece provável sair do clube italiano para aceitar o convite do Brasil. Também não está em seu melhor momento de carreira. No ado, ganhou campeonatos em Portugal, Inglaterra, Itália e Espanha. Conhece o futebol do Brasil e os jogadores brasileiros. Sempre veio aqui procurar talentos. Já foi melhor.

LUIS ENRIQUE

Não é justo Felipão dizer que Luis Enrique não ganhou nada. Ganhou a Champions League, dois campeonatos espanhóis e levou a jovem seleção da Espanha à semifinal da Eurocopa. Daí a ser o treinador consensual no Brasil tem diferença. Até porque muita gente já gritou ao ouvir seu nome. Do ponto de vista tático, agregaria muito ao futebol brasileiro. Mas não é igual a Guardiola, embora tenha sido um de seus sucessores no Barcelona dos bons tempos.

JORGE JESUS

Seu nome era dado como improvável no início da corrida pela sucessão de Tite e um dos motivos apontados era a sequência de crises dentro do Flamengo, enquanto esteve lá. Por outro lado, jogadores que trabalharam com ele garantem que não houve outro técnico tão bom no Flamengo desde sua saída. No Brasil, talvez... Abel Ferreira, quem sabe. Mas o nome de Abel perde força a cada crítica pelo comportamento e Jorge Jesus volta à tona por sua capacidade de trazer respeito dos analistas, um olhar de que é ofensivo e uma modernidade que, de fato, não tem. Jesus é o mais empírico dos treinadores de Portugal.

Se nenhum destes nomes aceitar, Ednaldo Rodrigues voltará ao Brasil em busca de um nome forte aqui. Neste momento, o mais provável é que um destes seja o escolhido.