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

Caixas-pretas de avião da Malásia só funcionarão por mais dez dias

Do UOL, em São Paulo

27/03/2014 10h19

Não bastassem as condições climáticas desfavoráveis e a natureza hostil da região, as equipes de resgate que buscam o avião desaparecido da Malaysia Airlines, que caiu com 239 pessoas no sul do oceano Índico, têm só mais dez dias para encontrar a aeronave, antes que as baterias das caixas-pretas se esgotem. A estimativa é de técnicos que integram os esforços.

Entenda como funcionam as caixas-pretas dos aviões

Em um caso como este, em que muitas questões permeiam a tragédia -- o levou causou o acidente? E por que o avião teria caído tão distante da rota original? -- autoridades da Malásia e de outros seis países, que auxiliam nas buscas, consideram as informações contidas nas duas caixas-pretas (sistema de registros de voz e dados da aeronave) como peças fundamentais para resolver o caso.

Nesta quinta, o centro que coordena a operação, em Perth, na Austrália, recebeu um rastreador de caixas-pretas e de um veículo submarino robótico enviados pela Marinha americana para ajudar a localizar o avião desaparecido da Malaysia Airlines.

O sistema de rastreamento, que manda sinais acústicos para encontrar caixas-pretas dos aviões, e o Bluefin-21, um aparelho robotizado que cruza as profundidades do oceano, foram enviados como medida de "precaução", segundo as autoridades.

O almirante Samuel Locklear, que lidera o Comando Pacífico, "tomou uma decisão muito sábia e prudente ao destinar para o lugar o material que pode ser útil, caso se confirme a descoberta dos destroços, ou pensemos que eles possam estar perto de onde as caixas-pretas estariam", disse o porta-voz do Pentágono, John Kirby.

O sistema rastreia até uma profundidade de 6.000 metros, acrescentou, enquanto que a nave robotizada pode reproduzir uma imagem em alta definição do fundo do oceano até 4.500 metros abaixo do nível do mar, com uma autonomia de 25 horas. 

Autoridades buscam objetos suspeitos

Nesta quinta, quatro dias depois de a Austrália ter anunciado que satélites encontraram imagens de 122 objetos de grande porte no oceano Índico e adiantar que podem ser destroços da aeronave, uma nova pista colocou autoridades em alerta: agora, a Tailândia detectou cerca de 300 objetos na mesma região.

O avião da Malaysia Airlines saiu de Kuala Lumpur (Malásia) para Pequim (China) e desapareceu dos radares civis da Malásia cerca de 40 minutos após a decolagem, no último dia 8. O desaparecimento da aeronave --um boeing 777-- é considerado um dos maiores mistérios da aviação internacional.

Exame dos dados de radar e de satélite levou o governo da Malásia a concluir que o aparelho mudou de rumo e acabou no sul do oceano Índico, em um lugar distante da terra e que não dá esperanças de serem encontrados sobreviventes.