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

Barcelona

Barça "nunca contratou serviço para desprestigiar" pessoas, diz presidente

Josep Maria Bartomeu falou sobre Ernesto Valverde durante coletiva de apresentação de Quique Setién no Barcelona - Albert Gea/Reuters
Josep Maria Bartomeu falou sobre Ernesto Valverde durante coletiva de apresentação de Quique Setién no Barcelona Imagem: Albert Gea/Reuters

18/02/2020 16h06

Barcelona, 18 Fev 2020 (AFP) — O presidente do Barcelona, Josep Maria Bartomeu, negou nesta terça-feira que o clube tenha contratado um serviço para difamar nas redes sociais, depois que foram veiculadas reportagens na imprensa que denunciaram essa prática.

"O Barça nunca contratou um serviço para desprestigiar seja quem for. Nem um jogador, nem um ex-jogador, ou qualquer político, gerente, presidente ou ex-presidente", disse Bartomeu durante uma cerimônia de premiação de jornalismo.

"Isso é totalmente falso. Vamos nos defender sempre que necessário sobre esse assunto, por todos os meios", acrescentou o presidente do Barça.

Na segunda-feira, a estação de rádio 'Cadena Ser' disse que o Barça contratou a empresa I3Ventures, que criaria "dezenas de contas dedicadas à proteção da imagem de Bartomeu e do conselho".

"Essas contas também atacam pessoas de diferentes áreas do ecossistema do Barça", acrescentou o SER, afirmando que esses perfis são praticados contra jogadores como Lionel Messi e Gerard Piqué, e ex-jogadores como Xavi Hernández e Carles Puyol.

O Barcelona já publicou na segunda-feira um comunicado negando as informações e afirmando que o que contratou são serviços de monitoramento na internet.

"Repito, é falso que o Barça tenha contratado alguém para desacreditar" terceiros, disse Bartomeu nesta terça-feira.

"É verdade que, no final de 2017, o Barça contratou serviços de monitoramento de diferentes áreas do clube nas redes sociais", explicou o presidente do Barça.

Bartomeu itiu, no entanto, que "após a confirmação de que uma das contas vinculadas a uma das empresas fornecedoras fez comentários inadequados a pessoas relacionadas à nossa organização, nesta manhã, instruímos, pessoalmente, a rescindir o contrato com esta empresa".

"Que uma coisa fique clara. À pergunta: se encomendamos o monitoramento de redes sociais, a resposta é sim", acrescentou Bartomeu.

"À pergunta: se encomendamos desacreditar pessoas ou instituições através das redes sociais, a resposta é não e vamos atrás de todos aqueles que nos acusarem disso", concluiu.

Barcelona