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

Netanyahu deve ganhar sobrevida política em meio a conflitos com palestinos

Primeiro-ministro de Israel, Benjamin Netanyahu - AMMAR AWAD
Primeiro-ministro de Israel, Benjamin Netanyahu Imagem: AMMAR AWAD

Jeffrey Heller e Ari Rabinovitch

14/05/2021 14h33Atualizada em 14/05/2021 14h54

JERUSÁLEM (Reuters) - Os tumultos civis entre judeus e árabes em Israel abalaram os esforços dos adversários do primeiro-ministro, Benjamin Netanyahu, para retirar o líder israelense do poder depois de uma série de eleições inconclusivas.

Naftali Bennett, chefe do partido ultranacionalista Yamina, disse que está desistindo de tentar montar uma coalizão com partidos de centro e de esquerda para formar um novo governo.

O cenário pós-eleitoral continua essencialmente o mesmo: Netanyahu teve uma chance de compor um governo e fracassou. Agora o principal bloco anti-Netanyahu, liderado pelo partido de centro Yesh Atid de Yair Lapid, tampouco tem um caminho óbvio para estabelecer uma maioria no Parlamento de 120 membros.

Bennett, político de direita que seria um parceiro improvável do mais moderado Lapid, disse que está abandonando as conversas sobre uma coalizão por preferir montar um governo de união mais amplo no interesse da nação em um momento de crise.

Isto cria a possibilidade muito real de outra eleição —a quinta em meros dois anos, algo inédito.

Analistas disseram que o fracasso da parceria Lapid-Bennett na esteira da violência nas ruas de Israel pode dar a Netanyahu um tempo adicional para realizar uma manobra política para se manter no poder.

"A partir do momento em que (o fogo) foi aceso, o governo de mudança morreu e Netanyahu ressuscitou", escreveu o comentarista Ben Caspit no jornal Maariv nesta sexta-feira.

Lapid ainda tem três semanas para tentar formar uma coalizão governista. Um acordo de "rodízio", por meio do qual Lapid e Bennett se revezariam como premiê, foi aventado, mas precisaria do apoio de parlamentares árabes para alcançar uma maioria.

Segundo citações da mídia israelense, na quinta-feira Bennett disse que o confronto atual com a minoria árabe de 21% de Israel tornaria tal governo inviável.

As atuais hostilidades entre Israel e militantes palestinos na fronteira com Gaza são acompanhadas de episódios de violência em comunidades mistas de judeus e árabes em Israel. Sinagogas foram atacadas e brigas de rua irromperam, o que levou o presidente israelense a alertar para uma guerra civil.