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

Britney Spears posa pelada e cobre os seios apenas com as mãos

Britney Spears posa sem traje de banho em praia  - Reprodução/Instagram
Britney Spears posa sem traje de banho em praia Imagem: Reprodução/Instagram

Colaboração para Splash, no Rio de Janeiro

05/10/2022 21h22

Britney Spears, de 40 anos, compartilhou uma foto pelada ajoelhada em uma praia. A cantora cobriu os seios com as mãos, enquanto a vagina com um emoji de coração.

Na publicação no Instagram, a cantora aparece com um chapéu e a pele bronzeada. É possível ver as suas duas tatuagens acima da virilha, além de estar coberta de areia pelo corpo.

Nos comentários, diversos fãs ficaram espantados com a publicação da artista. "Minha mãe estava sentada ao meu lado quando abri o Insta e essa foi a primeira coisa que ela viu. Ela gritou e disse 'Oh, meu Deus, quem é essa?!' e eu respondi?. 'É Britney, vadia!'", disse Bobby Berk, do elenco de "Queer Eye", da Netflix.

"Britney é uma celebração do corpo", disse um fã. "Seu corpo, suas regras", afirmou outro. "Rainha", comentou uma usuária da rede social.

No entanto, alguns deles condenaram a postagem da cantora. "Querida, você não precisa posar ou postar assim", disse uma seguidora. "Neste ponto, faça um OnlyFans, Brit", falou outra. "Britney, há muito mais de você do que seu corpo!", destacou um seguidor. "Por favor, pare. Isso não é bom para seus meninos", ressaltou mais um. Pouco tempo depois, a cantora publicou mais fotos nuas na praia.

Ontem, a cantora já havia publicado uma foto em que aparece de topless na praia. No vídeo, ela aparece com um chapéu rosa, óculos de sol e aproveita o mar, onde deita e faz várias poses.

"Eu cortei todo meu cabelo... Não quero mostrar ainda", escreveu a cantora na legenda.

Os fãs especulam que a cantora tenha retirado as extensões capilares. Em 2007, Britney virou manchetes de diversos veículos de comunicação após ter raspado a cabeça.

A postagem também rendeu uma série de comentários dos fãs. "Eu tentando fazer o barman me notar", brincou um. "O primeiro dia da (princesa) Ariel como humana", afirmou outro. Outro preocupado percebeu o corpo vermelho da cantora. "Por favor, Brit, coloque um pouco de protetor solar", aconselhou.