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

Líderes mundiais lançam plano da OMS para conter coronavírus sem EUA

O presidente francês, Emmanuel Macron, estava entre os líderes que fizeram conferência para lançar "colaboração histórica" - Ludovic Marin - 10.set.2019/AFP
O presidente francês, Emmanuel Macron, estava entre os líderes que fizeram conferência para lançar "colaboração histórica" Imagem: Ludovic Marin - 10.set.2019/AFP

Da Reuters, em Genebra e Zurique

24/04/2020 14h40

Líderes mundiais prometeram hoje acelerar os trabalhos em exames, remédios e vacinas contra o Covid-19 e compartilhá-los em todo o mundo, mas os Estados Unidos não participaram do lançamento da iniciativa da Organização Mundial da Saúde (OMS).

O presidente francês, Emmanuel Macron; a chanceler alemã, Angela Merkel; e o presidente sul-africano, Cyril Ramaphosa, estavam entre aqueles que participaram de uma videoconferência para lançar o que a OMS divulgou como uma "colaboração histórica" para combater a pandemia.

O objetivo é acelerar o desenvolvimento de remédios, exames e vacinas seguros e eficazes para evitar, diagnosticar e tratar o Covid-19, a doença pulmonar causada pelo novo coronavírus — e garantir o igualitário a tratamento para ricos e pobres.

"Estamos enfrentando uma ameaça comum que só podemos derrotar com uma abordagem comum", disse o diretor-geral da OMS, Tedros Adhanom Ghebreyesus, durante a reunião virtual.

"A experiência nos diz que, mesmo quando as ferramentas estão disponíveis, não foram disponibilizadas igualmente para todos. Não podemos permitir que isso aconteça".

A presidente da Comissão Europeia, Ursula von der Leyen, disse que o objetivo de um esforço de ajuda global no início de maio seria arrecadar 7,5 bilhões de euros para intensificar o trabalho de prevenção, diagnóstico e tratamento.

"Isto é somente um primeiro o, mas mais serão necessários no futuro", disse Von der Leyen na conferência.

Líderes da Ásia, do Oriente Médio e das Américas também participaram da videoconferência, mas um porta-voz da missão dos EUA em Genebra havia dito à Reuters que seu país não estaria envolvido.

"Embora os EUA não estejam participando do encontro em questão, não deveria haver dúvidas sobre nossa determinação em lidar questões de saúde globais, incluindo a atual crise de Covid", disse ele por e-mail.