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

Campanha do CE contra aglomerações mostra filha chorando por infectar o pai

Vídeo do Governo do Ceará contra aglomerações - Reprodução / Twitter
Vídeo do Governo do Ceará contra aglomerações Imagem: Reprodução / Twitter

Do UOL, em São Paulo

17/12/2020 10h53

A campanha de conscientização sobre a pandemia divulgada pelo governo do Ceará na última terça-feira (16) dividiu opiniões. O vídeo traz um alerta sobre os riscos de aglomerar durante as festas de final de ano e relembra que a pandemia do novo coronavírus não acabou. Nas redes sociais, internautas falam em terror ao assistir o vídeo e relembram das aglomerações durante a campanha eleitoral. Outra parcela afirma que um vídeo como esse é forte, mas necessário.

A publicidade traz o depoimento de uma mulher dentro de uma narrativa similar aos discursos feitos durante os eventos de amigo secreto, realizados no Natal. Com um tom de apelo, ela descreve os momentos que viveu ao lado do pai durante um velório e conta que foi a responsável por transmitir o vírus.

"O meu amigo secreto é daqueles que espalha alegria, sabe? Contagiava todo mundo por onde ava. Só que, hoje, ele não está aqui, porque fui eu que contagiei ele. Desculpa, pai. Desculpa", diz um trecho do vídeo, seguido de uma mensagem do governo cearense com recomendações para a população evitar os encontros presenciais e usar máscara.

O prefeito de Belo Horizonte, Alexandre Kalil (PSD), compartilhou nas redes sociais o vídeo do governo cearense ontem. O chefe do Executivo da capital mineira escreveu: "A verdade, dita pelo Governo do Ceará."

Casos de covid-19 no Brasil

O país superou a marca dos 7 milhões de casos confirmados de covid-19 ontem, segundo o levantamento feito pelo consórcio de veículos de imprensa do qual o UOL faz parte. A Universidade Johns Hopkins aponta que o Brasil é o terceiro país no mundo em números de casos da doença. Os Estados Unidos e a Índia lideram esse índice.

O estado de São Paulo é o maior em número de casos, com um total de 1.341.428 registrados, e 44.282 mortes.