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

Esse conteúdo é antigo

Carro da PM pega fogo após ser alvo de tiros na região Central do Rio

Polícia Militar do Rio de Janeiro - Getty Images
Polícia Militar do Rio de Janeiro Imagem: Getty Images

Daniela Amorim

Rio

28/03/2021 15h24

Um automóvel da Polícia Militar pegou fogo depois de ser atacado a tiros, na manhã deste domingo, 28, em Santa Teresa, na região central do Rio de Janeiro. Um policial ficou ferido.

Segundo a Secretaria de Estado de Polícia Militar, uma viatura do 5º Batalhão da PM, da Praça da Harmonia, foi alvo de disparos de arma de fogo quando transitava na Rua Almirante Alexandrino, uma das principais vias do bairro. Os disparos teriam sido feitos do alto da comunidade do Morro dos Prazeres.

Após o ataque, o automóvel ficou em chamas, e equipes do Corpo de Bombeiros foram acionadas para conter o fogo. Um policial foi socorrido ao Hospital Central da Polícia Militar com suspeita de fratura na perna.

Também na manhã deste domingo, um tiroteio interrompeu o tráfego no quilômetro 310 da BR-101, na altura de São Gonçalo, por volta das 10h. Segundo informações da Polícia Rodoviária Federal, o tiroteio ocorreu entre uma equipe da PM e criminosos, mas ninguém ficou ferido. As pistas da rodovia foram fechadas por segurança, sendo totalmente liberadas ao tráfego às 10h40.

Na noite deste sábado, 27, quatro pessoas morreram numa ação da Polícia Militar em uma favela de Bangu, zona oeste do Rio de Janeiro. Agentes do 14º Batalhão da PM de Bangu fizeram uma incursão à comunidade do 48 após o setor de inteligência da unidade ter relatado uma possível disputa de território entre grupos criminosos rivais na favela.

Os policiais tentaram abordar dois automóveis, quando ocupantes de um dos carros teriam atirado contra os agentes. Houve confronto, mas os criminosos fugiram.

De acordo com a polícia, os agentes teriam conseguido em seguida alcançar o segundo automóvel, onde estavam quatro suspeitos armados e feridos. Eles foram socorridos ao Hospital Municipal Albert Schweitzer, mas não resistiram aos ferimentos.

Foram apreendidos três fuzis, uma espingarda e munições. Segundo a 34ª Delegacia de Polícia, de Bangu, foi instaurado um inquérito para apurar as circunstâncias das mortes.