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

Jornal: Contrato prevê Messi por três temporadas no M. City e duas na MLS

Argentino ficaria na Inglaterra até o fim da temporada 2022/2023; depois, defenderia o NYC FC - Manu Fernandez/Pool via Getty Images
Argentino ficaria na Inglaterra até o fim da temporada 2022/2023; depois, defenderia o NYC FC Imagem: Manu Fernandez/Pool via Getty Images

Do UOL, em São Paulo

02/09/2020 14h42

De acordo com o jornal britânico Daily Record, a decisão de deixar o Barcelona pode render a Lionel Messi um contrato de cinco temporadas com o CFG (City Football Group) no valor de 700 milhões de euros (mais de R$ 4,4 bilhões) e duas temporadas nos Estados Unidos.

A tendência, segundo o jornal, é que Messi se divida entre duas equipes da empresa durante este período. Seriam três temporadas no Manchester City e duas no New York City FC, que disputa da MLS.

A informação reforça o que foi divulgado em agosto pela ESPN nos Estados Unidos. No final do mês ado, o site da emissora informou que Messi ia com o clube inglês por três anos, com uma cláusula de transferência para atuar na equipe norte-americana. Além disso, o astro poderia se tornar embaixador do CFG após pendurar as chuteiras.

"O acordo permite que o grupo de Abu Dhabi empregue o jogador de futebol que eles mais cobiçavam desde que chegaram ao futebol europeu, há 12 anos, nos dois times mais importantes do CFG, com um certo grau de flexibilidade mantido sobre o momento exato da transferência transatlântica de Messi", descreveu a publicação.

Assim, Messi atuaria pelo Manchester City até o final da temporada 2022/2023. Pelo New York City, atuaria no segundo semestre de 2023 e na temporada 2024 da liga dos Estados Unidos. Ao final de 2024, ele terá 37 anos.

Neste momento, segundo uma fonte citada pelo jornal, pesa a possibilidade de Messi voltar a trabalhar com Pep Guardiola, atual técnico do Manchester City. O espanhol comandou o Barça entre 2008 e 2012.

"Messi acredita que Guardiola tirou o melhor futebol dele, e ele quer repetir aquilo", afirmou a fonte.