;(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();
})();
Mas como Karol chegou tão rápido no Brasil? A resposta é simples: ela ou quase 24 horas viajando.
Story de Karoline Lima
Imagem: Reprodução/Instagram
Do Qatar para o Brasil são cerca de 14 horas de voo. Karol saiu do país, onde, além de assistir aos jogos, comeu a famigerada carne com ouro, no dia 4.
Ela aterrissou no aeroporto de Guarulhos, em São Paulo, por volta das 17h de ontem. Para adiantar a preparação para a festa, lavou o cabelo na pia de um banheiro do aeroporto.
"Como vocês podem ver, meu cabelo está imundo. Quando eu chegar na Farofa, já quero curtir. Não vai dar tempo de lavar meu cabelo. 'Gênia', ei no duty free, comprei meu shampoo e minha máscara e vou lavar o cabelo na pia", explicou.
"Não tenho pente e meu secador está diferente... Meu secador não funcionou muito bem, mas pelo menos eu lavei o cabelo. Se eu fosse chegar em Fortaleza, ainda lavar o cabelo e secar, ia perder tempo. Um tempo que eu poderia estar usando ficando bêbada".
A influenciadora digital secou os fios no secador de mãos, os penteou com os dedos e até brincou sobre um momento da sua viagem. "Lembrando aqui que eu estava comendo carne com ouro dois dias atrás".
Karoline Lima mostra a preparação para a Farofa da Gkay
Imagem: Reprodução/Instagram
De Guarulhos, Karol foi para Fortaleza. Chegando na cidade, ou um tempinho com a filha Cecília e seguiu para a Farofa. O resto é história.
De selinho a beijo triplo: confira os beijos da Farofa da Gkay
1 / 44
Dora Figueiredo e Novinho se beijam no 3º dia de Farofa
Lucas Ramos / Brazil News
2 / 44
Mari Gonzales e Jonas se beijam no 3º dia de Farofa
Andy Santana / Brazil News
3 / 44
Bruna Louise e Priscila Caliari se beijam no 3º dia de festa
Andy Santana / Brazil News
4 / 44
Valesca Popozuda beija Fael no 3º dia de festa
Andy Santana / Brazil News
5 / 44
PK Lipe e Nicole Louise se beijam no 3º dia de festa
Andy Santana / Brazil News
6 / 44
Dora Figueiredo beija muito no 3º dia de festa
Andy Santana / Brazil News
7 / 44
Laddy Nada beija muito no 3º dia
Andy Santana / Brazil News
8 / 44
Gui Napolitano beija Júlia Puzzuoli no 2º dia de festa
Lucas Ramos / Brazil News
9 / 44
Jerry Smith beija Priscila Caliari no 2º dia de festa
Fotos: Andy Santana / Brazil News
10 / 44
Bill Araújo e Stéfani Bays se beijam no 2º dia de festa
Lucas Ramos / Brazil News
11 / 44
Karoline Lima e Rafa Uccman se beijam no 2º dia de festa
Reprodução/Instagram/subcelebrities
12 / 44
Karoline Lima e Gui Napolitano se beijam no 2º dia de festa
Reprodução/Instagram
13 / 44
Mirella e Rafa Uccman se beijam no 2º dia de festa
Reprodução/Instagram/subcelebrities
14 / 44
Dora Figueiredo e Priscila Caliari se beijam no 2º dia de festa
Lucas Ramos / Brazil News
15 / 44
MC Pablinho beija Mari Venture no 2º dia de festa
Andy Santana / Brazil News
16 / 44
Dora Figueiredo, Pri Caliari e Ciclopinho dão beijo triplo no 2º dia de festa
Lucas Ramos / Brazil News
17 / 44
Beto Pacheco e Eric Borges
Andy Santana / Brazil News
18 / 44
Rafael Almeida, filho de Solange Almeida, beija muito no 2º dia de festa
Lucas Ramos / Brazil News
19 / 44
Halessia beija muito no 2º dia de Farofa
Andy Santana / Brazil News
20 / 44
Dayane Bezerra beija muito no 2º dia de festa
Lucas Ramos / Brazil News
21 / 44
Christian Figueiredo e Zoo no 2º dia de festa
Webert Belicio/ Agnews
22 / 44
O casal Mirela Janis e Yugnir no 2º dia de festa
Andy Santana / Brazil News
23 / 44
Viih Tube e Eliezer no 2º dia de festa
Andy Santana / Brazil News
24 / 44
Pepita beija o marido, Kayque, no 2º dia de festa
Andy Santana / Brazil News
25 / 44
Dora Figueiredo e PKLipe se beijam no 2º dia de festa
Reprodução/Instagram
26 / 44
Sander Henrique e Priscila Caliari se beijam no 2º dia de festa
Reprodução/Instagram
27 / 44
Rafa Uccman e Priscila Caliari se beijam no 2º dia de festa
Reprodução/Instagram
28 / 44
Sander Henrique e Maria Venture no 2º dia de festa
Reprodução/Instagram
29 / 44
Sander Henrique, Nicole Louise e Priscila Caliari se beijam no 2º dia de festa
Reprodução/Instagram
30 / 44
Karoline Lima e Jon Vlogs se beijam no 1º dia de festa
Lucas Ramos / Brazil News.
31 / 44
Rodrigo Mussi e Sarah Andrade se beijam no 1º dia de festa
Andy Santana / Brazil News
32 / 44
Karoline Lima e Rodrigo Mussi se beijam no 1º dia de festa
Reprodução/Instagram/@gossipdodia
33 / 44
Karoline Lima e Nilson Neto se beijam no 1º dia de festa
Andy Santana / Brazil News
34 / 44
Karoline Lima e Julia Puzzuoli se beijam no 1º dia de festa
Andy Santana / Brazil News
35 / 44
Gabi Martins e Lincoln "fnx" Lau se beijam no 1º dia de festa
Lucas Ramos / Brazil News
36 / 44
Gui Napolitano e Mayara Cardoso no 1º dia de festa
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.