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

Ex-jogador diz que boatos sobre ser gay custaram lugar na seleção inglesa

Ian Bishop jogou pelo West Ham entre 1989 e 1998 - Neal Simpson/	PA Images via Getty Images
Ian Bishop jogou pelo West Ham entre 1989 e 1998 Imagem: Neal Simpson/ PA Images via Getty Images

Do UOL, em São Paulo

09/06/2020 13h30Atualizada em 09/06/2020 15h25

Ian Bishop disse que rumores que circulavam nos anos 1990 sobre sua sexualidade foram o motivo pelo qual acabou sendo cortado da seleção de futebol da Inglaterra. O ex-meio campista contou ao Daily Star que, após mostrar seu talento no time B, ouviu colegas fazendo comentários maldosos sobre sua relação com o melhor amigo, Trevor Morley.

Pouco depois, o seu agente recebeu uma ligação informando que Bishop não seria promovido ao time A, contra todas as previsões da mídia especializada da época. "Não importa se você me achava bom ou não, a verdade é que muitos e muitos jogadores aram na minha frente na 'fila' e eu fiquei para trás", contou.

Bishop iniciou carreira no Everton, mas começou a se destacar quando entrou no elenco do West Ham, em 1989 — no mesmo ano que Morley, de quem se tornou amigo. Os rumores sobre uma possível relação amorosa entre os dois eram "ridículos", segundo o ex-jogador.

"Isso afetava nós dois. Ele era meu amigo, e eu via como ele estava sofrendo. Eu também estava recebendo provocações, abusos. Quando estava jogando, as pessoas me xingavam da arquibancada, e eu ia lá e respondia jogando beijos, só para provocar de volta", contou.

Mudança

Na mesma época, os filhos de Bishop estavam começando a entrar na escola, onde os rumores sobre o pai se traduziram em bullying contra os pequenos. "Eu não consegui mantê-los em nenhuma escola perto de Manchester, onde eu treinava", explicou ele.

"Eu acabei me mudando para Southport, que ficava a mais de uma hora do meu campo de treinamento. Eu fiz esse caminho todos os dias por três anos e meio, só para proteger minha família", disse.

Em 2001, o jogador trocou o Reino Unido pelos EUA, onde terminou sua carreira jogando pelo New Orleans Shell Shockers. Hoje em dia, é diretor técnico de outro time norte-americano, o Evergreen FC.