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

Mauricio Stycer

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Após ataques de bolsonaristas, Globo reforça papel educativo pró-democracia

Poliana Abrita justifica repetição de reportagem no Fantástico: "É um documento que precisa ficar na nossa memória"  - Reprodução
Poliana Abrita justifica repetição de reportagem no Fantástico: "É um documento que precisa ficar na nossa memória" Imagem: Reprodução

Colunista do UOL

15/01/2023 23h10Atualizada em 16/01/2023 10h56

A imprensa não tem o poder de polícia nem de Justiça, mas pode ajudar, e muito, a esclarecer crimes e evitar que eles se repitam. No caso do ataque à democracia ocorrido no último domingo (08), em Brasília, parte da mídia tem feito seu papel mostrando em minúcias o que ocorreu e condenando sem meias palavras o caráter golpista dos atos.

A Globo é um dos veículos que tem adotado uma postura bastante clara de condenação à violência praticada por bolsonaristas na Praça dos Três Poderes. Com cobertura intensiva há uma semana, a emissora tem dado uma contribuição importante à exposição dos danos e ao esclarecimento dos crimes cometidos.

Neste domingo, no "Fantástico", a emissora foi além e reconheceu ter um papel educativo no processo de defesa da democracia. O programa dominical exibiu duas vezes uma mesma reportagem, muito eloquente, na qual mostra o ataque ao Congresso e a defesa feita por algumas forças de segurança.

Exibidas na abertura e no meio do programa, eram cenas inéditas do ataque terrorista ao Palácio do Planalto no último domingo. "São imagens das câmeras de segurança que revelam o desprezo dos golpistas à democracia e ao patrimônio do nosso país", disse Poliana Abrita.

Ao justificar a reprise, a apresentadora enfatizou: "Nós vamos reprisar essa reportagem agora pra quem não teve a oportunidade de ver mais cedo. É um documento que precisa ficar na nossa memória para que as verdadeiras pessoas de bem digam não ao vandalismo, não à violência e ao ódio de radicais que não aceitam a escolha da maioria do povo brasileiro".

Ainda neste domingo, o "Fantástico" exibiu uma outra reportagem muito didática, detalhando a destruição de objetos e móveis dos prédios públicos e, mais importante, identificando e expondo os autores dos crimes. O programa deu ênfase a participantes de atos de violência que já tinham antecedentes criminais.

A Globo faz muito bem em se posicionar sem ambiguidade contra a tentativa de golpe ocorrida no último domingo e assumir esse papel educativo pró-democracia. A emissora, todo mundo sabe, tem um longo ivo neste campo. Parte dele, o apoio ao golpe militar de 1964, já foi, inclusive, reconhecido publicamente como um erro.

Adendo: O site Poder 360 informou nesta segunda-feira que as imagens de câmeras de segurança exibidas pelo "Fantástico", tanto da invasão do Palácio do Planalto quanto do Congresso, foram pedidas por "diversos veículos de comunicação", mas cedidas com exclusividade ao dominical da Globo.