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

Conta de Eduardo Bolsonaro é suspensa no Facebook; entenda o que rolou

Eduardo Bolsonaro na Câmara dos Deputados - Cleia Viana/Câmara dos Deputados
Eduardo Bolsonaro na Câmara dos Deputados Imagem: Cleia Viana/Câmara dos Deputados

De Tilt, em São Paulo

20/07/2021 09h56Atualizada em 20/07/2021 16h54

O deputado federal Eduardo Bolsonaro (PSL-SP) teve sua conta do Facebook suspensa temporariamente por ter publicado frases supostamente ditas por Adolf Hitler. Bolsonaro recorre na Justiça do Distrito Federal, segundo informações são da coluna "Ancelmo Gois", do jornal "O Globo".

Procurado por Tilt, o Facebook informou na tarde desta terça-feira (20) que a conta do deputado foi restaurada. A postagem que causou a suspensão, segundo a rede, foi removida por engano. Por isso, o perfil está de volta ao ar.

Desde 14 de julho, a página de Eduardo Bolsonaro estava impedida de postar e comentar posts dos outros. Este "gancho" do Facebook, imposto à página do deputado, teria duração de 30 dias — uma suspensão anterior já havia "punido" o político por um período de tempo.

Ainda segundo a coluna, Eduardo Bolsonaro argumenta que não teve direito à defesa, e solicita que uma liminar na Justiça para remover as restrições de seu perfil no Facebook.

Esta não é a primeira vez que Eduardo Bolsonaro fica com o à sua página no Facebook. Em junho, ele ficou 7 dias sem poder usar sua página após publicar um vídeo de seu pai dizendo que metade das mortes ocorridas por covid-19 no Brasil não ocorreram por causa da doença — esta informação foi desmentida pelo próprio pai do deputado, o presidente Jair Bolsonaro.

Casos de família

A família Bolsonaro tem histórico de suspensões ou notificações de postagem de conteúdo falso em redes sociais.

Em abril deste ano, por exemplo, Facebook e Instagram marcaram uma postagem do presidente Jair Bolsonaro como falsa.

Tratava-se de um vídeo em que um homem dizia que que os títulos em português do jornal "El País" sobre a participação do presidente no Fórum Econômico Mundial, em 2019, não correspondiam com os feitos em espanhol. Segundo apuração da Agência Lupa, havia uma má tradução de palavras do espanhol para o português, e que o vídeo enganava a audiência.

Em pelo menos duas ocasiões, o Twitter marcou postagens de membros da família como falsas durante o período de pandemia. Uma feita em janeiro na conta do presidente Bolsonaro por por defender tratamento precoce, algo que já foi comprovado como ineficiente, e em outra feita por Eduardo Bolsonaro criticando o lockdown.