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

Meghan Markle quer se aproximar do pai após briga, diz fonte

Meghan e Thomas Markle, pai da duquesa - Reprodução
Meghan e Thomas Markle, pai da duquesa Imagem: Reprodução

Colaboração para Splash, de São Paulo

29/05/2022 13h18Atualizada em 29/05/2022 13h18

Meghan Markle foi acusada pela irmã, Samantha, de ter sido a responsável pelo pai, Thomas, ter sofrido um acidente vascular cerebral (AVC), no dia 23 de maio. Depois de o pai ter deixado o hospital, uma fonte disse que a duquesa de Sussex está tentando se aproximar dele para resolver uma briga.

Conforme informações divulgadas pelo Mirror, a esposa do príncipe Harry teria entrado em contato com o hospital para saber como e onde ele estava depois de sofrer o derrame.

"Apesar do distanciamento, Meghan está preocupada. Ela quer saber se há alguma maneira de entrar em contato com seu pai em particular, sem que a outra parte da família saiba disso ou tenha que se envolver", confirmou a fonte ao jornal britânico.

Ainda, segundo o insider, Meghan Markle pretende ter uma conversa privada com o pai, longe das câmeras - e, de preferência, sem a presença dos meio-irmãos.

"Meghan não pode entrar em contato com seus meio-irmãos porque acredita que eles têm seus próprios interesses. Se ela puder entrar em contato com o pai deles, ela quer que seja totalmente privado. Não envolverá a Netflix, não envolverá nenhuma fotografia e não deve envolver nenhuma denúncia para os paparazzi", reforçou.

Briga entre Meghan Markle e o pai

A briga entre Meghan Markle e o pai Thomas ocorreu em 2018, quando o diretor de iluminação aposentado forjou algumas fotos. No caso, o pai da famosa forjou, com a ajuda de um paparazzo, que estava lendo a notícia do casamento da filha com o príncipe Harry. Por isso, a duquesa teria se afastado de Thomas.

Depois do ocorrido, o pai da jovem se arrependeu. "Cometi um erro estúpido e fui punido por ele. Isso mostra quem eles são, falam sobre compaixão e não há compaixão para mim, não há compaixão para minha família e não há compaixão para o mundo", disse à época.

Outra situação conflituosa entre eles foi quando o pai publicou uma carta de Meghan Markle, pedindo para ele parar de contar mentiras à imprensa. "Decidi liberar partes da carta por causa do artigo dos amigos de Meghan (...) Eu tenho que me defender. Só liberei algumas partes da carta porque outras partes eram muito dolorosas", comentou Thomas.