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

Autoridades alertam sobre 'tsunami menor' na Ilha de Páscoa e costa chilena

Alerta é medida preventiva no caso de uma eventual ocorrência devido à erupção do vulcão. - Divulgação
Alerta é medida preventiva no caso de uma eventual ocorrência devido à erupção do vulcão. Imagem: Divulgação

15/01/2022 17h53

O Escritório Nacional de Emergências (Onemi) do Chile alertou neste sábado (15) sobre a possibilidade de um "tsunami menor" atingir a Ilha de Páscoa e parte da costa continental após a erupção de um vulcão em Tonga.

"Por precaução, SAIA DA ÁREA DA PRAIA, devido a um tsunami menor", foi a mensagem de emergência que os habitantes das áreas afetadas receberam ao longo das horas como "medida preventiva" no caso de uma eventual ocorrência devido à erupção do vulcão.

No início do dia, o alerta afetou apenas a Ilha de Páscoa e o arquipélago de Juan Fernández, cerca de 3.300 km a oeste da costa continental no Oceano Pacífico, e as bases na costa da Antártida.

O último relatório incluiu as praias e áreas costeiras de várias outras regiões em alerta "por precaução".

"SHOA (Serviço Hidrográfico e Oceanográfico da Marinha do Chile) informa que estende o Estado de Precaução para a orla costeira das regiões de Ñuble, Biobío, La Araucanía, Los Ríos e Los Lagos, além da região de Arica e Parinacota e Coquimbo, Arquip. Juan Fernández, Ilha de Páscoa, San Félix e Antártica Chilena", publicou o Onemi nas redes sociais.

A organização destacou que na Ilha de Páscoa, primeiro território do Chile a ser atingido pelo tsunami, foi percebido até agora um pequeno aumento do nível do mar de cerca de 30 centímetros, que pode aumentar com o ar das horas até no máximo um metro.

Os habitantes das ilhas de Tonga fugiram neste sábado para regiões altas antes do tsunami perto de 1,2 metros causado por uma nova erupção - ouvida a centenas de quilômetros de distância - do vulcão Hunga Tonga Hunga Ha'apai.

A erupção durou oito minutos e foi tão forte que foi ouvida "como um trovão distante" nas Ilhas Fiji, a mais de 800 km de distância, segundo autoridades locais.