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

Sampaoli ajudou Jorge a ter nova chance com Tite na seleção brasileira

Jorge, lateral-esquerdo do Santos, durante entrevista coletiva pela seleção brasileira - Lucas Figueiredo/CBF
Jorge, lateral-esquerdo do Santos, durante entrevista coletiva pela seleção brasileira Imagem: Lucas Figueiredo/CBF

Bruno Grossi

Do UOL, em Miami (EUA)

02/09/2019 16h23

Se Jorge pôde voltar à seleção brasileira, para disputar os amistosos contra Colômbia e Peru neste mês nos Estados Unidos, o técnico Jorge Sampaoli tem grande participação nessa conquista. O argentino que comanda o Santos ajudou o lateral-esquerdo a corrigir uma antiga dificuldade e ou informações para que Tite definisse a convocação.

"O que ele me fez mudar, e ele até comentou comigo no dia a dia, é que evoluí muito jogando na linha de quatro. Desde o Flamengo sempre fui muito ofensivo, sempre gostei de jogar do meio para a frente. Mas já evoluí muito no futebol europeu, no Monaco, e hoje a capacidade de entender o jogo que o Sampaoli a ajuda ainda mais. Tudo que aprendi com ele é excelente, é um treinador com capacidade imensa", destacou o ala, em entrevista coletiva no hotel da seleção em Miami.

Tite sempre foi fã de Jorge. Chegou, inclusive, a convocá-lo ainda nos tempos de Flamengo para a seleção brasileira. E não o tirou o do radar. Até por isso fez questão de consultar Smapoli enquanto preparava a lista de convocados para a data Fifa de setembro. Depois, foi ver o lateral de perto em clássico do Santos contra o São Paulo no Morumbi. Os dois ainda acabaram se encontrando em um voo horas mais tarde.

"Por incrível que pareça, encontrei com ele no jogo do Morumbi, depois encontrei no voo e ele me deu um abraço, desejou tudo de bom. Poder estar aqui novamente foi uma coisa que sempre sonhei. Era meu objetivo. Jogar bem no Santos e voltar à seleção brasileira. Espero dar meu melhor aqui e honrar tudo que ele vem falando de mim. Fico feliz de ser elogiado por ele e esperar mostrar isso no dia a dia, nesses dois amistosos", afirmou.

Jorge tem a concorrência de Alex Sandro no atual elenco da seleção. Além disso, há a sombra de Renan Lodi, que começou bem a trajetória pelo Atlético de Madri e está com a seleção olímpica: "A briga vai ser boa na lateral. Isso é bom para a seleção. E a seleção olímpica é também um sonho para mim. Os técnicos terão que escolher".