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

Esse conteúdo é antigo

Peixes de espécie pré-histórica são encontrados na costa de Madagascar

Cientista do Quênia observa em 2001 espécie rara de peixe, que se pensava estar extinta há 65 milhões de anos - Getty Images
Cientista do Quênia observa em 2001 espécie rara de peixe, que se pensava estar extinta há 65 milhões de anos Imagem: Getty Images

Colaboração para o UOL, em São Paulo

20/05/2021 16h44Atualizada em 20/05/2021 19h57

Pescadores descobriram em Madagascar, no Oceano Índico, um habitat até então desconhecido de peixes celacantos, que eram considerados extintos até 1938. Esta espécie, bastante rara de encontrar, tem origem pré-histórica datada em 420 milhões de anos, segundo Daily Mail.

Os pescadores afirmaram que ao jogarem redes para capturar tubarões, se depararam com os chamados "peixes fósseis". Podendo pesar até 90 quilos, a espécie só foi avistada algumas vezes nos últimos anos em lugares como África do Sul, Tanzânia e Indonésia, como explicou o site Mongabay News.

Por viverem em uma área profunda, de 100 a 500 metros abaixo da superfície, apenas as redes mais de alta inserção conseguem capturar os celacantos. Conforme a caça e procura por barbatanas de tubarões crescia, principalmente na década de 1980, a população dos peixes diminuiu drasticamente.

Celacanto  - Reprodução/DIVEMAg - Reprodução/DIVEMAg
Celacanto
Imagem: Reprodução/DIVEMAg

"O advento de redes de emalhar de inserção profunda, ou jarifa, para a captura de tubarões, impulsionado pela demanda por barbatanas de tubarão e óleo da China em meados de 1980, resultou em uma explosão de capturas de celacanto em Madagascar e outros países do Ocidente Oceano Índico", diz um estudo publicado no South African Journal of Science.

Andrew Cooke, principal autor da pesquisa, disse que Madagascar é o novo "epicentro" dos celacantos, sendo que é possível que mais de 100 animais tenham sido pescados na região nos últimos 30 anos. Desde o sumiço repentino causado pelas intensas pescas de tubarão, acreditava-se que os espécimes haviam desaparecido do país, mas a recente descoberta aponta para outra direção.

"A presença de populações de celacanto do Oceano Índico Ocidental em Madagascar não é surpreendente, considerando a vasta gama de habitats que a ilha antiga oferece".

A descoberta da espécie na região é importante porque pode auxiliar na criação de um programa de pesquisa e conservação de animais que por anos foram considerados extintos.

De acordo com a National Oceanic and Atmospheric istration, os celacantos podem alcançar aproximadamente 2 metros de comprimento e possuem escamas com manchas curiosas. Outra característica especial é que estes peixes contam com quatro nadadeiras, o que já lhe rendeu o apelido de "peixe de quatro patas".

Errata: este conteúdo foi atualizado
A imagem representativa anterior não era de um Celacanto, mas sim um tubarão do gênero Oxynotus. Alteramos a informação.