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

Recomendo uso de máscara até o Natal, diz membro do Centro de Contingência

José Medina fez alerta sobre grandes riscos em festas de aniversário, mesmo aquelas com poucas pessoas - Divulgação Secom
José Medina fez alerta sobre grandes riscos em festas de aniversário, mesmo aquelas com poucas pessoas Imagem: Divulgação Secom

Lucas Borges Teixeira, Rafael Bragança, Leonardo Martins e Allan Brito

Do UOL e colaboração para o UOL, em São Paulo

11/03/2021 15h05

O uso de máscara continua sendo recomendado por especialistas como forma de combater a covid-19. E o ório não deve ser deixado de lado tão cedo. Para o nefrologista José Osmar Medina, médico do Centro de Contingência do Coronavírus de São Paulo, mesmo com as vacinas, vai ser necessário usar máscara até, pelo menos, o Natal deste ano.

Para ele, as restrições na economia, como as estabelecidas em diferentes fases do Plano São Paulo, poderão diminuir em "dois ou três meses", mas os cuidados de proteção e higiene deverão se manter.

É importante que tenhamos consciência de que vacina não funciona como em picada de cobra, que toma de manhã e faz efeito à tarde. Demora um mês ou dois para ter feito. É possível que até Natal tenhamos que tomar cuidados. Recomendo que se guarde máscara para o Natal.
José Medina, membro do Centro de Contingência

"Quando começamos [o Plano SP] na pandemia [em maio do ano ado], predominou a fase vermelha. amos para a fase verde, tentando melhorar a expectativa do futuro. Mas agora enfrentamos uma fase que cabe restrições, para preservar a vida de agora. E daqui a dois ou três meses vamos retomar medidas que podem liberar mais economia", disse Medina.

Ex-coordenador do Centro de Contingência, ele sempre pediu que as pessoas utilizassem máscaras em todos os momentos, quando possível em casa. Ele reforçou esse alerta hoje e também disse que existe um risco maior de transmissão em festas, mesmo as menores, em comparação com as aglomerações dos transportes públicos.

"O risco de contágio é maior em aniversário com aglomerações do que no transporte público. No aniversário você tem tempo de exposição maior e tem aglomerações de pessoas com faixas etárias diferentes. E com muita informalidade. Todos conhecemos histórias de quem foi em festas e depois apareceram 3 ou 4 pessoas contagiadas. No transporte público é mais difícil definir isso, mas lá tem protocolo, tem máscara e as pessoas estão pensando no vírus", comparou Medina.

O centro de contingência da covid-19 recomendou medidas mais restritivas para o governo de São Paulo e hoje foi atendido. O governador João Doria (PSDB) anunciou a fase emergencial em todo estado, com fechamentos de igrejas, paralisação dos jogos de futebol, antecipação do recesso escolar, toque de recolher e outros mudanças.

Restrições da fase emergencial anunciada pelo governo de São Paulo nesta quinta (11) - Reprodução/Governo do Estado de São Paulo - Reprodução/Governo do Estado de São Paulo
Restrições da fase emergencial anunciada pelo governo de São Paulo nesta quinta (11)
Imagem: Reprodução/Governo do Estado de São Paulo