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

Tite diz que Vini Jr tirou peso após gol e torce por sucessor brasileiro

Tite faz o sinal de positivo antes do sorteio dos grupos da Copa do Mundo de 2022 -  FRANCK FIFE / AFP
Tite faz o sinal de positivo antes do sorteio dos grupos da Copa do Mundo de 2022 Imagem: FRANCK FIFE / AFP

11/04/2022 17h37

Classificação e Jogos

O técnico Tite acredita que Vinicius Jr tirou "um peso" das costas após marcar seu primeiro gol pela seleção brasileira, contra o Chile, pelas Eliminatórias. Em entrevista ao jornal espanhol "Marca", o comandante brasileiro, que viaja pela Europa, revelou uma conversa com Carlo Ancelotti, treinador do Real Madrid, a fim de ajudar o jovem atacante no Brasil.

Para o comandante da seleção, o atacante do Real Madrid está mais à vontade desde que marcou seu primeiro gol pela seleção brasileira.

"Agora ele entra com mais naturalidade, como se tivesse tirado um peso. Perguntei ao Ancelotti sobre o que poderíamos fazer, que funções táticas faziam no Real Madrid para ajudá-lo na Seleção a jogar como no Real Madrid. Tratamos de situações ofensivas que lhe deram liberdade criativa, de um contra um, do processo criativo. É uma coisa bonita e transparente de dois técnicos que querem o melhor para ele", afirmou Tite.

Questionado sobre sua saída da seleção brasileira, após a Copa do Mundo do Qatar, Tite frisou que tem preferência por um brasileiro no seu lugar, e falou que sobre sua família em meio ao tempo que está no comando.

"Tem muito tempo ainda, mas existem grandes técnicos brasileiros. Não tenho esse direito, mas sim (preferência por brasileiro), ainda que eu respeite todos. A família está muito exposta também. A exposição é grande, bonita e maravilhosa, mas é dura também", disse.

Tite também foi perguntando sobre sua relação com Neymar, que vem sendo criticado pela imprensa sa. Recentemente, um jornalista da "RMC Sport" citou que o camisa 10 "chegava bêbado" aos treinos.

"Não posso falar do que dizem sobre Neymar. Eu valorizo a relação pessoal que tenho com ele, o tempo que amos juntos, as relações leais, os treinamentos, a qualidade do jogo quando estamos juntos. O que posso dizer é que a nível de comportamento não tive nem um só problema com ele", finalizou.