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

Messi solta a voz em música que provoca a seleção brasileira; veja

Lionel Messi em aquecimento antes de jogo entre Argentina e Estônia - Juan Manuel Serrano Arce/Getty Images
Lionel Messi em aquecimento antes de jogo entre Argentina e Estônia Imagem: Juan Manuel Serrano Arce/Getty Images

24/07/2022 12h38

Normalmente mais discreto que os companheiros de seleção argentina em celebrações e, principalmente, em provocações - frequentemente direcionadas à seleção brasileira -, Lionel Messi mostrou uma faceta diferente em um trecho do documentário "Selección Argentina, la série', da Amazon, que foi lançado no dia 10 de julho.

Em um momento descontraído do jantar com o grupo de jogadores da seleção argentina, Messi aparece cantando uma das canções mais famosas dos torcedores albicelestes para provocarem a seleção brasileira.

Na letra, os argentinos se identificam como 'pais' dos brasileiros, uma gíria local para dizer que a seleção brasileira é freguesa da Argentina. Além disso, a canção exalta principalmente o confronto entre Argentina e Brasil na Copa de 1990, na Itália, quando os argentinos venceram por 1 a 0 com gol de Caniggia, após bela jogada de Maradona, e eliminaram os comandados de Sebastião Lazaroni.

Curiosamente, um dos trechos da música fala do próprio Messi, dizendo que ele trará a Copa para Argentina, uma referência à Copa América 2021, que foi disputada no Brasil e conquistada pela seleção comandada por Lionel Scaloni com gol de Di María na final.

"Brasil decime que se siente (Brasil, me diz como se sente)
Tener en casa a tu papá (Ter em casa o seu pai)
Te juro aunque pasen los años (Juro que mesmo que em os anos)
Nunca nos vamos a olvidar (Nunca vamos nos esquecer)
Que Diego te gambeteó (Que Diego o driblou)
Que Cani te vacunó (Caniggia o espetou)
Estás llorando esde Italia hasta hoy (Está chorando desde a Itália até hoje)
A Messi lo vas a ver (Messi vocês vão ver)
La Copa nos va a traer (A Copa vai nos trazer)
Maradona es más grande que Pelé (Maradona é maior do que Pelé)".

Amistosos no Japão

Messi está com o PSG em uma série de amistosos no Japão. Ontem (23), o craque argentino esteve em campo no segundo tempo da vitória do time francês sobre o Urawa Red Diamonds por 3 a 0.

Amanhã, o PSG volta a campo contra o Gamba Osaka, às 7h (de Brasília), no Panasonic Stadium, em Suita, no Japão.