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

Eurocopa - 2021

Atacante é suspenso na Eurocopa após comemoração considerada racista

Arnautovic, da Áustria, emitiu palavras e gestos agressivos após marcar um gol na partida contra a Macedônia do Norte - Pool via REUTERS
Arnautovic, da Áustria, emitiu palavras e gestos agressivos após marcar um gol na partida contra a Macedônia do Norte Imagem: Pool via REUTERS

Do UOL, em São Paulo

16/06/2021 09h43Atualizada em 16/06/2021 09h50

O atacante Marko Arnautovic, da seleção da Áustria, foi suspenso por uma partida da Eurocopa após uma comemoração polêmica e considerada racista na 1ª rodada do torneio, em partida contra a Macedônia do Norte. A decisão partiu do Comitê Disciplinar da Uefa, que classificou o gesto como "insulto ao adversário".

No site oficial da competição europeia, o nome do jogador na lista de convocados do país traz um selo com a palavra "suspenso".

A Federação Austríaca, por meio de nota divulgada hoje, disse que o ato "implica em pena mínima de suspensão de uma partida para o jogador".

"A decisão foi comunicada ao ÖFB no início da tarde de quarta-feira. Isso significa que Marko Arnautovic não está disponível para a seleção nacional no segundo jogo da fase de grupos da Eurocopa contra a Holanda"

Gesto polêmico

A suspensão tem relação direta com questões políticas ligadas à Macedônia do Norte, país localizado no leste europeu.

Após marcar um dos três gols da Áustria na vitória por 3 a 1 no duelo em questão, o ex-Inter de Milão precisou ser acalmado pelo capitão David Alaba após gritar e insultar os jogadores rivais.

Como noticiado pelo As, Arnautovic, que é filho de um sérvio, se dirigiu aos macedônios pertencentes à minoria albanesa - há um conflito aberto entre as nações há mais de dez anos.

Na Sérvia, é dito que Arnautovic disse 'shiptar', uma expressão depreciativa sobre o povo da Albânia, no entanto isso não foi mostrado nas imagens. Além disso, o atacante fez um gesto de 'ok' com as mãos, que pode ser interpretado por alguns como um gesto racista, que faz menção ao "poder branco".

Logo depois da partida, os líderes da Macedônia do Norte emitiram um comunicado relatando que solicitaram à Uefa uma "punição mais severa" para o atleta de 32 anos, relatando que a federação é contra qualquer tipo de discriminação no futebol.

O atleta, que atua no futebol chinês, chegou a se desculpar nas redes sociais pela atitude. "Eu proferi algumas palavras mais acaloradas ontem, motivo pelo qual gostaria de pedir desculpas, especialmente aos meus amigos da Macedônia do Norte e da Albânia. Gostaria de dizer uma coisa e deixar muito claro, eu não sou racista", disse.