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

Pai de Haaland encerrou a carreira no City após vingança de rival

Alf Inge Haaland jogou no Manchester City 2000 e 2003 - Matthew Ashton - EMPICS/PA Images via Getty Images
Alf Inge Haaland jogou no Manchester City 2000 e 2003 Imagem: Matthew Ashton - EMPICS/PA Images via Getty Images

Do UOL, em São Paulo

09/05/2022 13h35

Muito perto de fechar com o Manchester City, Erling Haaland estará cruzando os caminhos de seu pai, se o negócio se concretizar, já que foi justamente no clube inglês que Alf Inge Haaland se aposentou, em 2003, quando tinha 30 anos. A trajetória de Alf Inge Haaland no City durou quatro anos e terminou precocemente por causa de uma lesão causada por vingança de Roy Keane.

O ex-volante começou a carreira no Bryne FK, na Noruega. Em 1993, ele foi contratado pelo Nottingham Forest, da Inglaterra, clube pelo qual atuou em 75 jogos e sete gols. Depois de quatro anos, Alf migrou para o Leeds e chegou a ser semifinalista da Copa da Uefa em 1999/2000, caindo para o Galatasaray, que foi o campeão daquela temporada.

Foi também pelo Leeds, que o ex-volante participou de um jogo que mudou sua história no futebol para sempre. Ele estava em campo em 27 de setembro de 1997, durante uma partida contra o Manchester United. Em uma dividida com o norueguês, Roy Keane se machucou e rompeu o ligamento de um dos joelhos. Haaland ainda foi para cima do rival acusando-o de simular a dor para ganhar o pênalti. Mas a lesão foi verdadeira, e Keane, que ficou quase um ano sem jogar, prometeu se vingar.

Em 2000, Halaand foi contratado pelo Manchester City. Ao todo, foram três temporadas, período em que fez 33 jogos e marcou três gols. Em sua agem pelo City, o norueguês voltou a encontrar Keane.

Em posições opostas na Premier League de 2001, Manchester United e Manchester City se enfrentaram pela 34ª rodada, em Old Trafford, em 21 de abril. Enquanto os Red Devils brigavam pelo título, os Citzens tentavam evitar o rebaixamento.

Com a partida empatada em 1 a 1, Keane cumpriu sua promessa de vingança. Em uma entrada violenta, acertou o joelho do rival. Foi expulso, ficou suspenso por três partidas e foi multado em 5 mil libras (o equivalente a R$ 31,6 mil, na cotação atual). Mais tarde, itiu que a entrada violenta se tratava de uma vingança pessoal.

"Havia esperado muito tempo por isso. A bola estava lá e eu poderia disputá-la, mas fui em cima dele. 'Tome, seu idiota, e nunca mais diga que estou mentindo'. Era para que ele nunca mais falasse que eu fingia lesões. Não me arrependi, nem depois do jogo. Mandei tudo à merda. O que vai, volta. Minha atitude foi olho por olho", escreveu Keane em sua biografia, publicada em 2002.

Ao itir suas motivações pessoais, ele ainda recebeu mais cinco partidas de gancho e uma nova multa, desta vez de 150 mil libras (cerca de R$ 948 mil, na cotação atual).

"Engraçado, ele [Keane] nunca me olhou nos olhos desde 1997. Sempre tinham faltas mais duras em jogos assim, mas aquela foi acima do tom. Fico agradecido que minha perna estava fora do chão, senão ele teria feito um estrago e tanto", disse Haaland na época.

21.04.22 - Roy Keane (careca) ainda foi tirar satisfações com Alf Inge Haaland após entrada violenta -  Gary M Prior/Allsport/Getty Images -  Gary M Prior/Allsport/Getty Images
21.04.22 - Roy Keane (careca) ainda foi tirar satisfações com Alf Inge Haaland (caído no gramado) após entrada violenta
Imagem: Gary M Prior/Allsport/Getty Images

O United foi campeão naquela temporada, enquanto o City acabou rebaixado. Embora a lesão tenha sido grave, Haaland pai ainda terminou a partida, jogou pela seleção da Noruega quatro dias mais depois e também pelo Citzens. Mas nunca mais conseguiu completar os 90 minutos em campo. O ex-volante ainda foi submetido a três cirurgias no joelho em dois anos, sem sucesso.

Ele anunciou a aposentadoria em agosto de 2003. "Tive uma grande carreira e isso é algo que não se pode mudar. Joguei 10 anos sem uma contusão e me considero um privilegiado por ter o futebol como profissão", disse na ocasião.

"O joelho ainda dói, isso nunca vai ar. Só tenho que aceitar. Se aquela entrada terminou minha carreira? Bem, eu nunca mais joguei uma partida inteira, não é? Parece uma grande coincidência, não acha? Talvez ele [Keane] tenha algo a ver com isso", afirmou o norueguês.

Agora, quase 19 anos depois da aposentadoria do pai, Haaland está perto de vestir a camisa do mesmo time que tanto faz parte da história de sua família.