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

RJ: Mãe e filho turistas entram por engano em favela e têm carro metralhado

Imagem mostra estragos em carro alvo de tiros na Vila Aliança, em Bangu, na zona oeste do Rio de Janeiro - Reprodução
Imagem mostra estragos em carro alvo de tiros na Vila Aliança, em Bangu, na zona oeste do Rio de Janeiro Imagem: Reprodução

Tatiana Campbell

Colaboração para o UOL, no Rio de Janeiro

24/05/2022 12h56Atualizada em 25/05/2022 10h13

Uma professora e o filho dela tiveram o carro metralhado. A suspeita é de que o veículo foi baleado por traficantes da comunidade Vila Aliança, em Bangu, zona oeste do Rio de Janeiro, no fim da tarde de ontem. No incidente, o carro em que Joseli Teresinha Hart, 40, e o filho de 15 anos estavam atropelou e matou o morador Eduardo da Silva Guilherme, 21. Ele fazia bico como ajudante de pedreiro.

Os dois usavam um aplicativo de localização para chegar no hotel, porém após indicação do sistema, entraram em um dos os da favela. Joseli é carioca, mas a família mora no Paraná.

No momento em que mãe e filho aram a comunidade, já acontecia um intenso tiroteio. Moradores da região chegaram a publicar nas redes sociais alertando para o confronto.

joseli - Reprodução/Facebook - Reprodução/Facebook
Joseli Teresinha Hart, 40
Imagem: Reprodução/Facebook

"Estava tendo muito tiro por causa da briga dos traficantes daqui. Do nada a gente ouviu um barulho muito forte, ela bateu com o carro, um morador foi atropelado, foi uma correria. Os policiais chegaram e levaram os dois para o hospital. Eles estavam bem, estavam conscientes", contou Iara Loureiro, comerciante da comunidade, que presenciou o caso.

A mulher, ao tentar fugir dos tiros, perdeu o controle do carro e acabou atropelando Eduardo da Silva Guilherme, 21, morador da Vila Aliança. Por causa dos graves ferimentos, ele não resistiu.

"Dudu era conhecido aqui da região. Infelizmente estava no lugar errado na hora errada. A gente ainda gritou, mas o carro estava desgovernado", acrescentou Iara.

A Polícia Militar disse que os traficantes teriam confundido o carro em que ela estava com o filho com uma viatura policial — o que poderia explicar que, por um momento, os disparos se concentraram em direção ao veículo. Por meio de nota, a corporação disse que "não havia ação envolvendo equipes da Polícia Militar na região no momento do incidente".

Os dois seguem internados no Hospital Municipal Albert Schweitzer, em Realengo, na zona oeste. A mulher tem ferimentos no pé esquerdo e na perna direita, com quadro de saúde considerado estável. O filho dela não teve o boletim médico divulgado.

Segundo a Polícia Civil, o carro da família foi periciado ontem. De acordo com o delegado Bruno Gilaberte, depoimentos já foram marcados.

"Nós vamos ouvir a pessoa baleada, o filho que estava com ela no carro, vamos ouvir também parentes da pessoa atropelada. Tem uma equipe no hospital cuidando dessa diligência. Nós já temos toda a estrutura do tráfico local mapeado e vamos tentar, através desse mapeamento, identificar os responsáveis pelos disparos."