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

Austrália retoma buscas por avião desaparecido no sul do oceano Índico

De Sydney (Austrália)

21/03/2014 00h34

As autoridades da Austrália retomaram nesta sexta-feira (21) as buscas no sul do oceano Índico pelo avião da Malaysia Airlines, desaparecido desde o dia 8 de março, mas as condições do tempo não são favoráveis e podem atrapalhar as operações.

Um primeiro avião Orion partiu durante a manhã e outras duas aeronaves, que estão a ponto de partir, o seguirão em uma viagem de quatro horas até o local onde foram localizados os possíveis destroços da aeronave.

A Autoridade Australiana de Segurança Marítima (AMSA, na sigla em inglês), que lidera as buscas no sul do oceano Índico, explicou que um total de cinco aviões participam da missão, entre eles um Poseidon P8 de reconhecimento da Marinha americana.

Mas, "até o momento, não fomos informados por nenhuma observação", informou a AMSA.

Por sua vez, o vice-primeiro-ministro da Austrália, Warren Truss, disse à emissora local "ABC" que as condições meteorológicas na área das buscas não são particularmente boas e que tendem a piorar.

Acrescentou que as operações de busca, que somente podem ser feitas durante o dia, são "difíceis e desafiantes", pois os objetos podem ter se deslocado a uma grande distância do ponto original onde foram detectados pelos satélites no dia 16 de março ado.

As autoridades buscam um objeto de cerca de 24 metros e outros menores em uma área a aproximadamente 2,5 mil quilômetros ao sudoeste da cidade de Perth e que podem estar relacionados com o voo MH370 da Malaysia Airlines.

Ontem à noite, a embarcação mercante norueguesa St. Petersburg chegou na área de buscas, que tem 23 mil quilômetros quadrados, e também são esperadas as chegadas de outro navio comercial e da embarcação de guerra Success, da Austrália.

Também ontem, enquanto aviões australianos, neozelandeses e americanos sobrevoavam a região, uma aeronave Hércules da Austrália lançou bóias no mar que servirão como referência para as buscas.

Apesar de ser considerada uma pista crível, o ministro da Defesa australiano, David Johnston, disse que "arão muitos dias até que se tenha uma ideia da credibilidade e veracidade deste relato (do satélite)".

Avião com 239 pessoas sumiu em 8 de março

O avião Boeing 777-200 da Malaysia Airlines cobria a rota Kuala Lumpur-Pequim e desapareceu dos radares cerca de 40 minutos depois da decolagem no dia 8 de março com 239 pessoas a bordo.

Seus ocupantes eram 153 chineses, 50 malaios (12 deles da tripulação), sete indonésios, seis australianos, cinco indianos, quatro ses, três americanos, dois neozelandeses, dois ucranianos, dois canadenses, um russo, um holandês, um taiwanês e dois iranianos que embarcaram com aportes roubados, um italiano e outro austríaco.