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

Fifa veta torcida sem camisa, mas americano tira mesmo assim: 'Está calor'

José Corvera, torcedor dos EUA, desafia regra da Fifa que proíbe ficar sem camisa na Copa do Qatar - Adriano Wilkson/UOL
José Corvera, torcedor dos EUA, desafia regra da Fifa que proíbe ficar sem camisa na Copa do Qatar Imagem: Adriano Wilkson/UOL

Do UOL, em Doha (Qatar)

26/11/2022 04h00

Classificação e Jogos

"As seguintes atividades não são permitidas dentro do estádio", escreveu a Fifa em uma cartilha distribuída digitalmente aos torcedores da Copa no Qatar. Depois de uma série de proibições, a última: "Remover peças de roupa ou de outra forma ficar desnudo (incluindo ficar sem camisa) ou mostrar partes íntimas do corpo."

Com essa regra, o torcedor que frequenta os estádios da Copa não pode repetir um dos gestos mais banais do futebol: tirar a camisa depois de um gol e girá-la no alto da cabeça, uma coreografia repetida por torcidas organizadas do mundo inteiro. Também está proibido ficar mais à vontade em uma tarde de calor, mesmo estando em Doha, uma cidade rodeada por desertos.

A imposição de um dress code mais conservador tem surtido efeito, e até aqui as arquibancadas do Mundial têm visto um público mais comportado do que em outras ocasiões. São raros os corpos a mostra, as pinturas corporais e os trajes de praia, comuns em outras edições da Copa. No lugar deles, entrou em cena outra novidade: a profusão de thobes e abayas, os trajes típicos dos muçulmanos árabes, que constituem a elite da população da Qatar.

Em Inglaterra 0 x 0 EUA, no estádio Al Bayt ontem, a reportagem encontrou uma dessas exceções, um único ponto de pele no meio 68 mil outros de tecido. Atrás de um dos gols, o norte-americano José Corvera vestia uma bandeira na cabeça, um macacão estrelado, uma bolsa e nada mais. Quando o macacão pendia de lado, ele se tornava o único de seu entorno que exibia o torso nu, desafiando a proibição expressa da Fifa. Ousado.

"Eu sei que é proibido, mas está calor, não vejo problema", disse ele no intervalo da partida. Com ascendência de El Salvador e morador de Los Angeles, Corvera disse que tem sido abordado por organizadores, que pedem para que ele se vista, mas não insistem caso ele siga sem camisa. "O pessoal tem sido legal, eles pedem com educação e tudo bem", afirmou. "Não acho legal essa regra. Sei que é um país religioso, mas a Copa não é só desse país. É do mundo inteiro, e no mundo não há nenhum problema em ver futebol sem camisa. Talvez seja uma regra mais voltada para mulheres."

Sem camisa, torcedores da Argentina celebram durante jogo contra a Arábia Saudita na Copa do Mundo - Sebastian Frej/MB Media/Getty Images - Sebastian Frej/MB Media/Getty Images
Sem camisa, torcedores da Argentina celebram durante jogo contra a Arábia Saudita na Copa do Mundo
Imagem: Sebastian Frej/MB Media/Getty Images

A Argentina estreou na Copa contra a Arábia Saudita às 13h em uma tarde de muito sol em Doha. Nesse dia, a proibição da Fifa caiu por terra, e os argentinos foram vistos sem camisa se aliviando do calor. Mas eles, juntos com o americano Corvera, foram apenas algumas exceções que confirmam a regra, cada vez mais respeitada entre os torcedores no Qatar.

Dentro das quatro linhas, porém, a regra da Fifa parece ser mais uma lei para inglês ver: Jude Bellingham, volante da seleção inglesa, foi visto ontem desfilando a caminho do vestiário após cumprimentar o colega de Borussia Dortmund, Gio Reyna. Os dois estavam sem camisa.