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

Três espécies de répteis de ilha australiana são extintos na natureza, diz IUCN

Geckos da ilha de Christmas (Lepidodactylus listeri) - Wikipedia
Geckos da ilha de Christmas (Lepidodactylus listeri) Imagem: Wikipedia

Em Tóquio

05/12/2017 09h30

Três espécies de répteis da ilha Christmas, pequena ilha australiana do oceano Índico, desapareceram em seu estado selvagem, por razões ainda desconhecidas, revela estudo da IUCN (União Internacional para a Conservação da Natureza) publicado nesta terça-feira (5).

Os geckos da ilha de Christmas (Lepidodactylus listeri), o lagarto-de-cauda-azul (Cryptoblepharus egeriae) e o lagarto da ilha Christmas (Emoia nativitatis) foram removidos da lista de espécies "em perigo crítico" para serem incluídos na de espécies "extintas em estado silvestre" da lista vermelha da IUCN.

A razão de seu desaparecimento é "um enigma" no momento, segundo o professor John Zichy-Woinarski, do Departamento de Biologia da Universidade Charles-Darwin, situada em Darwin, norte da Austrália, citado em um comunicado da IUCN.

Desde os anos 1970, a população de répteis da ilha Christmas, ao sul da ilha indonésia de Java, declinou fortemente, segundo a IUCN.

Os investigadores suspeitam de que uma serpente predadora introduzida na ilha em meados dos anos 1980, uma doença e as mudanças no ecossistema local vinculados à irrupção da formiga invasiva Anoplolepis gracilipes, conhecida como "a formiga louca", tenham acelerado a queda da população desses répteis, embora não estejam seguros de que essa seja a explicação.

Existem populações cativas de geckos e de lagartos-de-cauda-azul, graças a programas de conservação, mas um programa similar para conservar o lagarto da ilha Christmas, Emoia nativitatis, fracassou em 2013, e a espécie desapareceu completamente, lembrou a UICN.

Em seu informe divulgado hoje, a organização também alertou sobre um marsupial da Austrália, o Pseudocheirus peregrinus, que entrou na lista vermelha de "vulnerável" para espécie "em perigo crítico".

A população dessa espécie caiu 80% nos últimos dez anos, devido ao aquecimento global e à seca, segundo a IUCN.

A atualização completa da lista vermelha da IUCN deve ser apresentada nesta terça em Tóquio.