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

Bebê de 9 meses está entre os infectados pelo coronavírus

Usuários do metrô de Pequim, na China, usam máscaras - Carlos Garcia Rawlins/Reuters
Usuários do metrô de Pequim, na China, usam máscaras Imagem: Carlos Garcia Rawlins/Reuters

Do UOL, em São Paulo

26/01/2020 14h49

A cidade de Pequim registrou 68 casos confirmados de coronavírus. Segundo a rede de televisão norte-americana CNN, um bebê está entre os pacientes diagnosticados.

A menina de 9 meses é o caso mais jovem conhecido a ser confirmado até agora. Até então, uma menina de dois anos era a pessoa com a menor idade entre os infectados. A China registrou mais de 2 mil casos e 56 mortes pela doença.

A doença levou o presidente chinês, Xi Jinping, a declarar que o país vive uma "situação grave" e causou o cancelamento das festas do Ano Novo Lunar em diversas cidades.

"Se mantivermos nossa confiança, trabalhando em cooperação com os estudos científicos de prevenção e seus respectivos tratamentos, aliados às políticas combativas, seremos, com certeza, capazes de vencer essa batalha", disse o presidente chinês.

Vírus 'não é tão potente' quanto o da SARS, mas é mais contagioso

O novo coronavírus foi descrito hoje por funcionários da saúde chineses como "não tão potente" quanto o vírus da SARS (Síndrome Respiratória Aguda Grave), que causou 774 mortos em todo mundo entre 2002 e 2003.

No entanto, parece que "a capacidade de propagação do vírus se reforçou", disse Ma Xiaowei, presidente da Comissão Nacional de Saúde.

O novo vírus tem um período de incubação de até duas semanas e "é possível contágio durante o período de incubação", explicou Ma, destacando que é, portanto, "muito diferente da SARS".

Itamaraty procura brasileiros com possível coronavírus nas Filipinas

A Embaixada do Brasil nas Filipinas tenta contato com uma família de brasileiros suspeita de estar infectada pela nova forma de coronavírus no país, apurou a reportagem do UOL.

A informação de que um casal junto ao filho de 10 anos está internado em isolamento um hospital de Puerto Princesa, cidade da ilha de Palawan, do arquipélago que compõe as Filipinas, circula na mídia local.

Até a última atualização deste texto, o Ministério da Saúde brasileiro informava não haver casos registrados de coronavírus no Brasil. Cinco possíveis casos foram descartados ao longo das últimas duas semanas.

* Com agências internacionais e reportagem de Luciana Amaral, do UOL, em Brasília