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

Jovem morre em abordagem policial na zona sul de São Paulo

Imagens de câmeras de segurança mostram momento da abordagem de policiais a um suspeito, na região do Parque Bristol - Reprodução/TV Globo
Imagens de câmeras de segurança mostram momento da abordagem de policiais a um suspeito, na região do Parque Bristol Imagem: Reprodução/TV Globo

Renata Mesquita e Felipe Resk

São Paulo

10/08/2020 07h29

Por volta das 18 horas do domingo, 9, um jovem morreu durante uma abordagem policial na região do Parque Bristol, zona sul da capital paulista. De acordo com a polícia, um homem, em atitude suspeita, estava dirigindo uma moto sem placa na Avenida dos Pedrosos, na altura do número 227. Ele foi abordado por integrantes das Rondas Ostensivas com Apoio de Motocicletas (Rocam), mas não parou.

Segundo o boletim policial, ocorreu uma perseguição, durante a qual o suspeito teria tentado derrubar uma das motos da patrulha.

Ao ser parado, os agentes afirmaram que o indivíduo desceu da motocicleta e colocou a mão na cintura, simulando estar armado. Neste momento, um dos policiais disparou contra o homem. O jovem chegou a ser socorrido por pessoas que estavam no local, segundo os policiais, e acabou levado a um pronto-socorro onde morreu.

De acordo com moradores da região, o suspeito seria Rogério Ferreira da Silva Júnior, que completou 19 anos neste domingo.

Nas redes sociais, conhecidos do rapaz alegaram que o tiro que levou ao óbito ocorreu sem que Silva fizesse qualquer menção de reação. A situação, ainda conforme os moradores, causou tumulto, até que o jovem fosse atendido por uma enfermeira e levado ao hospital do Sesi.

Eles acusavam a polícia no domingo, também pelas redes sociais e por vídeos, de dificultar o socorro. Também consta do boletim de ocorrência oficial que houve tumulto, policiais teriam sido hostilizados e uma viatura foi depredada.

Nenhum policial se feriu. A identificação da vítima não foi confirmada pelo Polícia Militar. A ocorrência foi registrada no 26.° DP, que deve ficar responsável pelo início das investigações.