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

Macacos "lutam por comida" nas ruas da Tailândia após ausência de turistas

Reprodução/Twitter
Imagem: Reprodução/Twitter

De Nossa

12/03/2020 13h01

Uma cena que viralizou graças a vídeos nas redes sociais nesta quinta (12) tem chocado os moradores da cidade turística de LopBuri, na Tailândia. Na gravação, os macacos que se abrigam em templos budistas bastante visitados da região lutam nas ruas por comida.

Locais especulam que a ausência de turistas, em consequência do coronavírus, seja o motivo. Isso porque, segundo o jornal, muitos deles têm como hábito alimentá-los durante as visitas realizadas por lá.

De acordo com a imprensa local, a cena chocou os moradores, que afirmaram nunca terem visto uma cena semelhante antes. O motorista de táxi Biew Um-in declarou ao site "Thai Rath" ter visto um grupo de macacos procurando por comida em um mercado local. Já Somchai Unakong, residente de LopBuri de 75 anos, vê o ocorrido como um "mau presságio para o país".

Turismo em Lopburi

Lopburi - Getty Images/iStockphoto - Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Localizada a aproximadamente três horas de viagem de Bangkok, o local chama a atenção dos turistas por trazer ruínas e templos antigos, que podem render fotos e eios extraordinários para quem estiver disposto a se aventurar.

A cidade é ainda mais conhecida pela livre circulação de macacos na região. Estima-se que três mil deles vivam por lá.

Os animais no local são tratados como divindades, em consequência do poema épico de origem hindu "Ramakian" (versão tailandesa do "Ramayana" indiano) — o nome Lopburi, inclusive, vem da obra.

Segundo o "Ramakian", Sida, esposa de Rama, príncipe da Tailândia na antiguidade, foi sequestrada e resgatada por Hanuman, um macaco com poderes especiais que alcançou a imortalidade.

Celebração

Lopburi - Getty Images/iStockphoto - Getty Images/iStockphoto
Imagem: Getty Images/iStockphoto

Nos finais de novembro é realizado o Festival dos Macacos. Realizado pela primeira vez em 1989, a festa serve um banquete para os animais. A celebração costuma reunir turistas nessa época do ano.