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

Neymar diz que quer jogar Copa América e Olimpíada de Tóquio: "Sou fominha"

Do UOL, em São Paulo

12/01/2020 22h49

Neymar falou que quer disputar tanto a Copa América 2020 quanto os Jogos Olímpicos de Tóquio 2020. Porém, acredita que será difícil conseguir a liberação do PSG para participar dos dois torneios.

"Sou fominha, vocês (jornalistas) sabem. Estou disposto a jogar os dois, mas acho que é um pouco mais complicado, tem que conversar com o clube. Da outra vez (em 2016), quando eu estava no Barcelona, não me deixaram jogar os dois, mas isso é conversado, é ver o que é melhor. Mas espero estar 100% para ajudar a seleção brasileira de alguma forma", declarou após o empate de hoje por 3 a 3 contra o Monaco.

A Copa América será realizada na Argentina e na Colômbia entre 12 de junho e 12 de julho, enquanto a Olimpíada de Tóquio acontece de 24 de julho a 9 de agosto. A seleção brasileira sub-23 disputará o pré-olímpico da Colômbia de janeiro a fevereiro em busca de uma vaga na competição.

Em 2016, Neymar conquistou a medalha de ouro com a seleção no futebol masculino, a primeira do Brasil na modalidade, nos Jogos Olímpicos do Rio.

Relação com torcida do PSG

Na mesma entrevista pós-jogo contra o Monaco, Neymar foi questionado sobre sua relação com a torcida do PSG, que chegou a vaiar o brasileiro no início da temporada, quando ele negociou sua saída do clube francês. Porém, acabou ficando e viu as vaias diminuírem ao longo dos jogos.

"Para mim, está normal, como desde a primeira vez que cheguei aqui. Foi uma das melhores sensações que tive no futebol, da primeira vez que cheguei aqui. Como me trataram, como me receberam. E, para mim, segue normal. O que aconteceu no verão, todo mundo sabe. É uma história que ou", disse.

"Hoje, sou jogador do Paris, estou me dedicando ao máximo para que o Paris possa fazer uma grande temporada, que a gente possa vencer. Não tenho nada contra a torcida. O carinho é imenso, respeito é muito grande, e espero que cada vez mais eles possam nos apoiar, que dentro de campo a gente vai dar 100%", explicou.