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

Cidade de Melbourne, na Austrália, flexibiliza lockdown mais longo do mundo

6.ago.2021 - Ruas no centro de Melbourne, na Austrália, ficaram praticamente vazias após lockdown na cidade - Con Chronis/AFP
6.ago.2021 - Ruas no centro de Melbourne, na Austrália, ficaram praticamente vazias após lockdown na cidade Imagem: Con Chronis/AFP

Da Ansa

21/10/2021 09h44Atualizada em 21/10/2021 09h44

Após quase nove meses de confinamento em função da pandemia de covid-19, a cidade de Melbourne, na Austrália, decidiu flexibilizar nesta quinta-feira (21) o mais longo lockdown do mundo.

A capital do estado de Victoria, que tem cinco milhões de habitantes, ou pouco mais de 260 dias em confinamento. Com o relaxamento do bloqueio, diversos bares, restaurantes e cafeterias poderão reabrir suas portas para pessoas totalmente vacinadas contra o novo coronavírus.

A população, no entanto, tem a obrigação de utilizar máscara de proteção em ambientes fechados e os estabelecimentos precisarão respeitar um limite de capacidade.

"Percorremos um longo caminho no estado de Victoria, mas essa estrada terminou", comentou Scott Morrison, primeiro-ministro da Austrália.

As autoridades locais prometeram suspender o lockdown assim que 70% das pessoas recebessem as duas doses da vacina anti-covid.

James Merlino, vice-premiê da nação, celebrou os "esforços extraordinários" da população.

Melbourne investirá em serviços de saúde mental para cuidar da própria população, já que diversos estudos no país apontaram níveis elevados de problemas psicológicos nos residentes da cidade durante a pandemia.

Apesar da reabertura, os moradores de Melbourne não poderão deixar a cidade e as lojas de varejo permanecerão fechadas ao público até que a taxa de vacinação atinja 80%.

De acordo com informações do "ABC News", a Austrália deverá retirar as medidas de quarentena para viajantes do exterior no final de outubro, assim como Sydney e o estado vizinho de Nova Gales do Sul.

A Austrália registrou cerca de 150 mil casos de covid-19 e 1,5 mil mortes em uma população de 25 milhões de pessoas. As autoridades de Victoria alertaram que os hospitais correm o risco de ficar sob "intensa pressão" em virtude da reabertura.