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

9º dia: ônibus, van escolar, viaduto e caminhão de lixo são alvos no CE

Carlos Madeiro

Colaboração para o UOL

10/01/2019 22h42Atualizada em 11/01/2019 00h25

A onda de ataques no Ceará completou nove dias nesta quinta-feira (10) com um ônibus urbano, uma van escolar e um caminhão de lixo incendiados e um viaduto atingido pela explosão de uma bomba na capital, Fortaleza. Até as 17h, informou a Secretaria da Segurança Pública e Defesa Social (SSPDS), 287 pessoas haviam sido presas ou apreendidas (caso de menores de idade) sob suspeita de participar nos atentados.

Testemunhas afirmam que, pouco antes das 22h, foi ouvida uma grande explosão sob um viaduto do bairro Messejana. O Corpo de Bombeiros foi acionado e, ainda no começo da madrugada desta sexta (11), avaliava os riscos à estrutura de concreto. Ninguém teria ficado ferido.

Viaduto alvo de ataque a bomba no bairro de Messejana, em Fortaleza (CE) - Reprodução/Youtube - Reprodução/Youtube
Viaduto alvo de ataque a bomba no bairro de Messejana, em Fortaleza (CE), na noite desta quinta-feira (10)
Imagem: Reprodução/Youtube

À tarde, registraram-se ataques em pelo menos quatro bairros de Fortaleza, e os ônibus circularam com frota reduzida durante a noite.

Um caminhão que fazia coleta de lixo foi incendiado no bairro Ancuri e teve a parte da frente totalmente destruída. Há uma semana, o serviço de recolhimento de lixo está prejudicado em Fortaleza e, desde quarta-feira (9), policiais militares escoltam as equipes nos bairros considerados mais críticos.

No bairro Bom Jardim, um caminhão e um carro foram incendiados. Em Mondubim, também Fortaleza, uma van de transporte escolar foi queimada.

Pela manhã, um ônibus foi alvo de criminosos e incendiado bairro do Siqueira.

Reação do Estado

Nesta tarde, o governador Camilo Santana (PT) se reuniu com chefe dos demais poderes e pediu apoio para seguir com ações firmes contra os criminosos. "A minha decisão é não recuar nenhum milímetro e não tenho dúvida que essas ações terão reflexo positivo para os cearenses no futuro próximo", afirmou.