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

Brasileiros criam gel à base de nióbio que consegue desativar coronavírus

Pesquisadores dizem que solução é eficiente em ambientes doméstico e médico - Reprodução
Pesquisadores dizem que solução é eficiente em ambientes doméstico e médico Imagem: Reprodução

Marcella Duarte

Colaboração para Tilt

14/09/2020 10h46

Pesquisadores da UFMG (Unidade Federal de Minas Gerais) desenvolveram um composto, à base do metal nióbio, que protege mãos e superfícies contra o novo coronavírus por até 24 horas. Ele não deve ser ingerido e não serve para eliminar o vírus dentro do corpo humano, apenas para evitar a propagação fora.

A solução pode ser usada na forma de gel ou líquido spray para proteger superfícies e equipamentos em ambientes doméstico, médico e odontológico, de acordo com os cientistas.

Os testes do composto foram realizados com o Sars-CoV-2 em um laboratório de nível de biossegurança NB-3 (que permite manipulação de vírus causadores de doenças graves). A solução foi registrada pela startup Nanonib.

Segundo os pesquisadores, ela é eficaz contra diversos microrganismos, como vírus, bactérias e fungos. Também pode ser usado nas mãos porque não causa reações adversas, como ressecamento da pele.

Chamado comercialmente de INNIB-41, o composto pertence à família dos polioxoniobatos.

"Sintetizamos uma forma nova de polioxoniobato, com capacidade de gerar espécies de oxigênio que desativam de forma eficiente uma elevada carga do coronavírus. Essas espécies de oxigênio são liberadas no meio ao se deparar com uma bactéria ou um vírus", diz Luiz Carlos Oliveira, professor do Departamento de Química e líder da pesquisa.

Desenvolvido com apoio de investidores privados, o produto deve começar a ser comercializado nos próximos meses. Oliveira afirma que ele não é nocivo à saúde ou ao ambiente e terá um preço ível.

"Vamos criar soluções contendo moléculas inovadoras de nióbio, de baixo custo de produção e versáteis, já que também poderão ser inseridas em produtos de limpeza e cosméticos disponíveis no mercado", diz.

Minas Gerais tem a maior reserva de nióbio do mundo, na cidade de Araxá, onde estima-se haver 842 milhões de toneladas do metal. Cerca de 98,4% do nióbio do mundo está no Brasil.

"As tecnologias desenvolvidas com o nióbio têm alto grau de ineditismo e grande potencial de geração de valor e podem ser de interesse estratégico e econômico", diz o professor.