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

Sem sucesso, australianos encerram 2º dia de buscas por possíveis destroços

Do UOL, em São Paulo

21/03/2014 09h20

Autoridades australianas deram por encerrado na manhã desta sexta-feira (21) mais um dia de buscas, sem sucesso, pelos dois objetos detectados no oceano Índico, perto da costa do país, e que podem ser destroços do avião da Malaysia Airlines desaparecido no dia 8 de março.

A Austrália, que lidera uma força-tarefa na região, concentrou os esforços em uma área de 23 mil quilômetros quadrados no sul do Índico. Participaram das operações nesta sexta quatro aeronaves P3 Orion da Força Aérea da Austrália, um P8 Poseidon da Marinha americana, um P3 Orion da Nova Zelândia, além de dois navios mercantes.

Está a caminho o navio HMAS Success, da Marinha Real Australiana. O Reino Unido  enviou o HMS Echo, que tem capacidade de monitoramento submarino, mas ele deve levar ainda uma semana para chegar ao local.

Além disso, membros da equipe sa que localizou os destroços do voo da Air irão ajudar nas buscas pelo avião da Malaysia Airlines, afirmou nesta sexta-feira (21) o ministro interino dos Transportes malaio, Hishamuddin Hussein. O AF 447 caiu no oceano Atlântico quando viajava do Rio de Janeiro a Paris, em 2009.

"Eles concordaram em nos ajudar com sua experiência e conhecimento consideráveis", afirmou Hussein. 

Em nota, a Autoridade Australiana de Segurança Marítima (Amsa, sigla em inglês)  afirmou que as condições climáticas e de visibilidade melhoraram em relação à quinta-feira, quando as buscas foram prejudicadas.

Um dos objetos na imagem de satélite teria 24 metros de comprimento e o outro, 5 metros. Podem existir outros objetos na área, que é alcançada em um voo de quatro horas partindo do sudoeste da Austrália, disse John Young, gerente da Amsa.

O vice-premiê australiano, Warren Truss, disse, no entanto, que os objetos podem ter afundado a essa altura.

"Algo que estava flutuando no mar há tanto tempo pode não estar mais flutuando", disse ele a repórteres em  Perth. "Podem ter ido para o fundo", completou.

As imagens de satélite que apontou os dois objetos eram do último domingo (16), mas foram divulgadas apenas na quinta-feira (20).