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

Harry e Meghan têm participação discreta no jubileu da rainha

Harry e Meghan assistiram ao evento do antigo escritório do duque de Wellington - Emily Sevenoaks/via Reuters
Harry e Meghan assistiram ao evento do antigo escritório do duque de Wellington Imagem: Emily Sevenoaks/via Reuters

Da AFP, em Londres

02/06/2022 16h10

O príncipe Harry e sua esposa, Meghan, fizeram hoje uma discreta aparição pública durante o desfile que inaugurou o Jubileu de Platina da rainha Elizabeth II, dois anos depois da turbulenta partida do casal para a Califórnia, nos EUA.

Excluídos da sacada do Palácio de Buckingham por serem, hoje, membros "não ativos" da realeza, o duque e a duquesa de Sussex quase não apareceram nas transmissões do desfile "Trooping the Colour". Os dois assistiram ao evento do antigo escritório do duque de Wellington.

Já os jornais publicaram fotos de Meghan falando com Harry. Ambos usaram trajes escuros, que contrastavam com os uniformes militares tradicionais dos príncipes Charles e William durante o desfile.

O casal deve participar da missa em homenagem à soberana na manhã de amanhã na catedral São Paulo, onde estarão os demais membros da família com quem mantém relações tensas.

Harry, de 37 anos, voltou outras vezes para o Reino Unido desde o "Megxit", como a imprensa apelido o afastamento do casal em relação à monarquia. Esteve no funeral de seu avô Philip, em abril de 2021, e na inauguração de uma estátua em homenagem a sua mãe, a princesa Diana. Acompanhado de Meghan, também fez uma breve visita à rainha, antes dos Jogos Invictus na Holanda, em abril.

No funeral do príncipe Philip, Meghan ficou em Montecito, onde moram, já que estava grávida de sete meses de sua filha, Lilibet. Batizada em homenagem à rainha, a criança nunca esteve com a bisavó, nem com seu avô Charles. Completa um ano de idade no sábado (4), durante o final de semana do Jubileu.

Segundo The Sun, Harry e Meghan chegaram na quarta-feira em um avião particular e foram escoltados por seguranças da rainha. Para o tabloide britânico, trata-se de um gesto de aproximação.

Impopulares

Desde a partida do casal, as relações entre os "Sussex" e "a firma", apelido pejorativo da família real, ficaram ainda piores após uma entrevista concedida por ambos à apresentadora Oprah Winfrey, na televisão americana.

Meghan Markle afirmou que não recebeu qualquer apoio psicológico da casa real, apesar de suas ideias suicidas. A ex-atriz americana, afrodescendente, também acusou um membro da família (não a rainha) de ter questionado a cor de pele que teria seu filho Archie, agora com três anos.

O casal se tornou muito impopular no Reino Unido (com 63% de opiniões desfavoráveis, segundo o instituto YouGov) e também entre os veículos da imprensa, que não perdem as oportunidades para criticá-lo.

"Sua partida gerou o sentimento de que eles deram as costas ao país, não apenas à rainha e à instituição", explicou, recentemente, Omid Scobie, autor de um livro sobre Harry e Meghan.

"Eles são detestados, e acredito que tudo o que fizerem terá amplos reflexos negativos", acrescentou.

Segundo ele, a visita permitirá a Harry estreitar seus vínculos familiares com Charles, com que "já deu os primeiros os", e com William, com quem há "muito pouco contato".