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

Presidente da Fifa diz que Copa a cada 2 anos é 'viável' e ouvirá até times

Gianni Infantino, presidente da Fifa, durante o 72º congresso da entidade em Doha, no Qatar - Franck Fife/AFP
Gianni Infantino, presidente da Fifa, durante o 72º congresso da entidade em Doha, no Qatar Imagem: Franck Fife/AFP

Gabriel Carneiro

Enviado especial a Doha (Qatar)

31/03/2022 07h47

Classificação e Jogos

A Fifa avançou nos últimos dias as discussões a respeito da realização da Copa do Mundo a cada dois anos após 2026. Hoje (31), durante um congresso da entidade que aconteceu no Qatar, o presidente Gianni Infantino disse que os estudos internos feitos para entender a viabilidade da ideia tiveram bons resultados e que agora se abre uma nova etapa da proposta.

Esta nova fase, de acordo com o dirigente, envolve a busca por "terrenos comuns" a partir do diálogo com associações continentais, federações, ligas e até clubes.

"Primeiro devo dizer claramente que a Fifa não propôs uma Copa do Mundo bianual, então vamos esclarecer o processo", disse Infantino na abertura de seu discurso, antes de completar:

"No último congresso, 28% das associações votaram a favor do estudo da viabilidade de uma Copa a cada dois anos. Então, a istração da Fifa sob a liderança de Arsène Wenger começou esse estudo, mas não impôs nada. Agora [o estudo] chegou à conclusão de que é viável, mas de que isso teria impactos, repercussões. Mas uma vez feito esse estudo começa uma nova fase, de consulta, onde há discussões, se buscam comprometimentos, terrenos comuns, discussões entre associações membros, ligas e clubes", declarou Gianni Infantino.

Apesar do discurso de que a Fifa "não propôs" a Copa bianual, Infantino tratou o assunto no contexto de "evolução do futebol": "Nós trabalhamos de maneira conjunta e tentaremos ter da iscussão para chegar à conclusão daquilo que é mais adequado. Os grandes têm que se tornar maiores, mas o pequeno também tem que ganhar, gerar oportunidades para todos. Agradeço a todos pelo feedacks, sejam negativos, positivos ou neutros. Continuaremos a discutir a evolução do futebol."