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

Rei Charles 3º negocia quebrar silêncio sobre Harry em entrevista, diz site

Rei Charles 3º durante a chegada do caixão da Rainha Elizabeth 2ª ao Westminster Hall em 2022 - REUTERS/Alkis Konstantinidis
Rei Charles 3º durante a chegada do caixão da Rainha Elizabeth 2ª ao Westminster Hall em 2022 Imagem: REUTERS/Alkis Konstantinidis

De Splash, no Rio

28/01/2023 22h47

O rei Charles 3º, de 74 anos, pode estar prestes a romper o silêncio sobre a briga com o príncipe Harry à BBC enquanto se prepara para fazer uma entrevista histórica à emissora. A informação é do tabloide britânico Mirror.

Ele pode usar a entrevista sobre as celebrações da coroação para resolver os problemas com Harry e Meghan, que se intensificaram após declarações bombásticas do príncipe para seu programa na Netflix e no livro de memórias "Spare".

Assessores do palácio ainda discutem possibilidade, mas a ideia seria dar a sua versão sobre o afastamento de Harry e Meghan da família real.

Tanto Charles 3º, quanto o príncipe William, 40, e a esposa Kate, 41, mantiveram um silêncio após as falas de Harry, que alega brigas físicas entre ele e o irmão, uma briga entre Meghan e Kate por causa de vestidos e o relacionamento conturbado dos príncipes com a rainha consorte Camilla, 75.

A BBC poderia usar o veterano radialista Jonathan Dimbleby, 78, amigo de longa data de Charles 3º, para conduzir, mas assessores do palácio estão preocupados com linha abordada na entrevista.

"Os planos já estão em andamento para a cobertura da coroação na BBC, incluindo o perfil sobre o monarca. Não é a coisa feita para evitar assuntos em entrevistas, por isso, torna as coisas complicadas", disse uma fonte do The Mirrow.

"Mesmo um pequeno comentário sobre Harry e Meghan seria notícia mundial. Também poderia levar a uma resposta de Harry, o que seria imprevisível, como tanto. Tudo é muito delicado", continuou.

Outra emissora também pediu uma entrevista, mas as chances são menores porque ela veiculou uma conversa com Harry no início deste mês.

Fonte ainda assegura que a ideia é seguir um caminho semelhante à sua mensagem do dia de Natal. "Ainda há uma opção para a família simplesmente produzir um discurso de coroação ou conteúdo que eles filmam e fornecem. Ele permite o controle sobre o que é dito e não abordaria os Sussexes."