;(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; // 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(); })();
Topo
Notícias

Ataques israelenses deixam 22 mortos, incluindo grávida e crianças, diz Defesa Civil da Faixa de Gaza

8 pessoas morreram devido ataques à Gaza nesse domingo - Mahmoud Zaki
8 pessoas morreram devido ataques à Gaza nesse domingo Imagem: Mahmoud Zaki

AFP

25/05/2025 08h04

A Defesa Civil da Faixa de Gaza anunciou hoje (25) as mortes de 22 pessoas, incluindo uma mulher grávida e várias crianças, em bombardeios no território palestino cercado, onde Israel intensificou sua ofensiva.

"Sete mártires e vários feridos foram transferidos após bombardeios aéreos israelenses contra a casa da família Daqa, na cidade de Jabaliya", ao norte da Faixa, declarou à AFP Mahmud Bassal, porta-voz do órgão de resgate. Um balanço anterior citava seis mortos neste ataque.

Segundo Bassal, alguns corpos estavam "carbonizados". Ainda há pessoas sob os escombros, mas "a Defesa Civil não tem equipamentos pesados para levantar os escombros, salvar os feridos ou retirar os corpos", acrescentou.

O porta-voz também relatou a morte de duas pessoas - uma delas grávida - em um campo de deslocados de Nuseirat, no centro do território.

Os médicos tentaram salvar o feto, "mas morreu", explicou.

Os bombardeios deixaram cinco mortos, membros da mesma família, em Deir al Balah, no centro do território; três mortos em Beit Lahia (norte) e outros três na província de Khan Yunis, no sul.

Um casal morreu em um bombardeio contra o campo de refugiados de Nuseirat, no centro. Segundo Bassal, eram um diretor da Defesa Civil, Ashraf Abu Nar, e sua esposa.

O Exército israelense também demoliu várias casas na Cidade de Gaza (norte) e cinco residências perto de Khan Yunis, acrescentou a mesma fonte.

A AFP entrou em contato com o Exército israelense, mas a força militar se recusou a fazer comentários.

Israel retomou a ofensiva na Faixa de Gaza em meados de março, após romper uma trégua de quase dois meses. Em 17 de maio, intensificou as operações, com o objetivo, afirma, de derrubar o movimento islamista palestino Hamas e libertar os reféns que permanecem no território.

A guerra em Gaza foi desencadeada após o ataque do Hamas no sul de Israel em 7 de outubro de 2023, que provocou as mortes de 1.218 pessoas, a maioria civis, segundo uma contagem da AFP baseada em dados oficiais.

Das 251 pessoas sequestradas naquele dia, 57 permanecem retidas em Gaza. Do grupo, 34 foram declaradas mortas, segundo o Exército israelense.

Mais de 53.900 palestinos, a maioria civis, morreram na Faixa de Gaza na operação militar israelense, segundo os dados do Ministério da Saúde de Gaza, governado pelo Hamas, que a ONU considera confiáveis.

az/smw/dv/crb/cab/jvb/pb/fp

© Agence -Presse

Notícias