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

Operação de resgate acredita que avião da AirAsia caiu no mar, diz jornal

Mapa do site fligtradar24.com mostra o local do último contato (linha azul) que o avião fez - flightradar24.com/Reprodução
Mapa do site fligtradar24.com mostra o local do último contato (linha azul) que o avião fez Imagem: flightradar24.com/Reprodução

Em Bancoc

28/12/2014 07h55Atualizada em 28/12/2014 11h06

O avião da AirAsia que desapareceu neste domingo (28) em território da Indonésia com 162 pessoas a bordo provavelmente caiu no mar próximo à ilha de Belitung, entre Sumatra e Bornéu, afirmaram fontes da Agência Nacional de Busca e Resgate da Indonésia. Pouco antes de sumir, o piloto solicitou à torre de controle uma mudança de rumo devido ao mau tempo.

Um funcionário da agência disse ao jornal indonésio "Jakarta Post" que acreditam que o Airbus 320-200 caiu no mar a 03.22.46 latitude sul e 108.50.07 longitude leste. Esse ponto está entre 148 e 185 quilômetros da ilha de Balitung.

Embora circulem na imprensa indonésia informações de que pelo menos um objeto que poderia ser um destroço da aeronave tenha sido localizado, as autoridades do país não confirmaram nem desmentiram a informação.

O avião da companhia aérea de baixo custo malaia AirAsia, voo QZ-8501, decolou de Surabaia, em Java, às 5h20 (hora local) e deveria chegar em Cingapura às 8h30 (local, 22h30 em Brasília).

Um porta-voz do Ministério de Transporte da Indonésia indicou que o piloto do avião, que voava a cerca de 32 mil pés de altura (9,76 quilômetros), pediu permissão para subir até os 38 mil (11,59 quilômetros) às 6h12.

A aeronave transportava 155 ageiros, incluindo 16 crianças e um bebê, e uma tripulação de dois pilotos, um mecânico e quatro comissários de bordo.

A AirAsia informou que os ageiros eram 156 indonésios, três coreanos, um francês, um malaio e um cingapuriano.

Um Boeing da Força Aérea da Indonésia, três helicópteros e seis navios participam das operações de rastreamento, e Cingapura ajuda com outro avião, um C130.

Contudo, o mau tempo tem dificultado as operações de busca, realizadas em uma área de quase 200 quilômetros quadrados. A visibilidade no local, segundo a Marinha, varia entre dois e 5 quilômetros.

Piloto relatou mau tempo

O Ministério de Transporte da Indonésia e a AirAsia confirmaram que o piloto do avião solicitou à torre de controle uma mudança de rumo devido ao mau tempo.

Um porta-voz do ministério disse que o piloto do Airbus, que voava cerca de 32 mil pés de altura (9,76 quilômetros), pediu permissão para subir até os 38 mil (11,59 quilômetros), segundo o diário local "Jakarta Globe".

O porta-voz disse que esta solicitação aconteceu às 6h12 hora local, menos de uma hora depois de decolar.

Avião desaparecido em março

Um avião da companhia aérea Malaysia Airlines com 239 pessoas a bordo que viajava de Kuala Lumpur para Pequim desapareceu em 8 de março de 2014 e não se voltou a saber dele.

Os investigadores acreditam que o voo MH370 foi desviado de seu rumo e acabou caindo por falta de combustível em um lugar remoto do sul do oceano Índico.