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

Coronavírus: governo desmente mensagens divulgadas em redes sociais

28.jan.2020 - Clientes fazem fila em Hong Kong para comprar máscaras faciais com medo do coronavírus - Tyrone Siu/Reuters
28.jan.2020 - Clientes fazem fila em Hong Kong para comprar máscaras faciais com medo do coronavírus Imagem: Tyrone Siu/Reuters

Do UOL, em São Paulo

30/01/2020 09h53Atualizada em 31/01/2020 09h29

O Ministério da Saúde está usando as redes sociais para desmentir informações que estão circulando na internet em correntes de mensagens de WhatsApp sobre o novo coronavírus.

Uma delas mostra uma foto de várias corpos em uma rua, sugerindo que são de pessoas mortas na China. Outra, diz que o diretor do Hospital das Clínicas de São Paulo sugeriu o uso de um chá para o tratamento contra a gripe e o coronavírus. Há ainda mensagens dizendo que a doença foi disseminado na China devido à sopa de morcego e que a UFRJ está pesquisando o assunto. Todas as mensagens são falsas. Veja abaixo:

Coronavírus já matou mais de 200 pessoas

No Brasil, do dia 29 para o dia 30 de janeiro 10 novos casos foram notificados, mas o número de casos suspeitos é 9, sendo 1 em Minas Gerais, 1 no Rio de Janeiro, 3 em São Paulo, 1 no Paraná, 1 no Ceará, 2 no Rio Grande do Sul", explica o sec de Vigilância em Saúde, Wanderson de Oliveira.
Até agora, nenhum caso da doença foi confirmado no país.

Após uma reunião em Genebra ontem, a OMS declarou emergência internacional pela epidemia, depois de fortes críticas pela demora da organização em alertar sobre a gravidade do cenário. De acordo com as autoridades chinesas, a epidemia já deixou 213 mortos, com quase 10 mil casos confirmados de contaminação e 102 mil pessoas em observação.

A grande maioria dos casos foi registrada na China. As primeiras infecções do vírus, batizado provisoriamente de 2019-nCoV pela OMS, foram detectadas na cidade chinesa de Wuhan no final do ano ado e remontam a um mercado de animais selvagens e peixes, que agora foi fechado.

O vírus pode ter sido transmitido através do contato direto entre humanos e animais, ou simplesmente através do ar.

Além da China, há casos confirmados também em Hong Kong, em Macau, em Taiwan, na Tailândia, nos Estados Unidos, na Austrália, no Japão, na Malásia, em Cingapura, na França, na Coreia do Sul, no Vietnã, no Canadá, na Alemanha, Nepal e no Reino Unido.