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

Quem é o norueguês que vem desbancando Haaland pela Chuteira de Ouro

Amahl Pellegrino lidera a Chuteira de Ouro - Divulgação/Redes Sociais
Amahl Pellegrino lidera a Chuteira de Ouro Imagem: Divulgação/Redes Sociais

Do UOL, em São Paulo (SP)

21/10/2022 04h00

Se você pensa que, pelo início de temporada arrasador, Haaland lidera a corrida pela Chuteira de Ouro, você está cometendo um erro. O líder é norueguês, mas não o astro do Manchester City. Amahl Pellegrino, do Bodo/Glimt, é o número um neste momento.

Pellegrino, de 32 anos, tem 23 gols anotados no Campeonato Norueguês em 23 jogos, ou seja, mantém média de um tento por partida que disputa na competição. Somando toda a temporada — liga, copas e outros torneios — o norueguês foi às redes 28 vezes em 36 atuações.

A carreira do atacante nunca foi das mais badaladas. Pellegrino construiu basicamente toda a sua história no futebol local. Na Noruega, ou por Drammen FK, Baerum SK, Lillestrom, Stromsgodset, Mjondalen, Kristiansund e, agora, o Bodo/Glimt. Fora do país, Amahl defendeu apenas o Damac, da Arábia Saudita.

A seleção norueguesa, no entanto, nunca foi uma realidade para o atacante de 32 anos, que prefere atuar pelo lado esquerdo do gramado apesar de ser destro.

Corrida contra Haaland

Pellegrino tem 23 gols no Campeonato Norueguês, ou seja, oito a mais que Haaland na Premier League (15). Mesmo assim, a diferença entre eles no ranking é de apenas 4,5 pontos. Por que isso acontece?

A explicação começa a partir dos coeficientes das ligas europeias estipulados pela European Sports Media, empresa responsável por organizar o prêmio. Os cinco principais campeonatos da Europa (Inglês, Espanhol, Alemão, Francês e Italiano) têm valor de 2. Ligas que estão entre a sexta e a 22ª posição no ranking têm 1,5 de coeficiente. As competições abaixo valem um.

O Campeonato Norueguês, onde joga Pellegrino, tem coeficiente de 1,5. Sendo assim, cada gol do atleta é multiplicado por esse fator, gerando os pontos no ranking. Enquanto isso, cada tento que Haaland anota vale por 2.

Outro fator que joga contra Pellegrino é a temporada em si. Isso porque, o calendário do futebol norueguês segue o mesmo do Brasil, com rodadas apenas até dezembro. Sendo assim, restam apenas mais quatro jogos para Amahl encerrar as suas atuações.

Em contrapartida, Haaland e outros grandes nomes como Benzema e Lewandowski têm mais de seis meses pela frente em seus torneios.

O prêmio da Chuteira de Ouro vale apenas para ligas europeias e não leva em conta os gols anotados pelos jogadores nas competições continentais e copa nacionais.

Veja como está o ranking do prêmio:

1° - Amahl Pellegrino - Bodo/Glimt (NOR) - 23 gols/34.5 pontos

2° - Erling Haaland - Manchester City (ING) - 15 gols/30 pontos

3° - Bobur Abdikholikov - Energetik-BGU Minsk (BLR) - 23 gols/23 pontos

4° - Raimonds Krollis - Valmiera FC (LET) - 22 gols/21 pontos

5° - Alexander Jeremejeff - BK Häcken (SUE) - 21 gols/21 pontos