;(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();
})();
Samuel Rosa sobre Beatles: 'Melhor banda de pop rock de todos os tempos'
Colaboração para Splash, em São Paulo
17/12/2021 04h00
Samuel Rosa 'saiu da caixa' de várias formas ao lado de Tiago Abravanel. Em um papo divertido e muito musical, Samuel falou das suas referências e cantou músicas pela primeira vez, em mais de 30 anos de carreira.
O "Sai da Caixa" é um programa musical do Canal UOL, apresentado por Abravanel e está na sua segunda temporada. Além de Samuel, nomes como Pocah, Salgadinho e Felipe Araújo.
Você não precisa ter visto ao vivo um determinado cantor, banda ou time para saber que são os melhores no que entregavam. Assim analisou Samuel Rosa, ao falar sobre The Beatles.
Eu também não precisei ver os Beatles tocando ao vivo para saber que foi a melhor banda de pop rock de todos os tempos. Samuel Rosa
A comparação veio após o cantor eleger seu top 5 de jogadores de futebol com: "Pelé, Garrincha, Maradona, Messi e Tostão. Esse time que eu não vi jogar, mas eu sei que foi o melhor time que o Cruzeiro teve. E que foi um dos melhores times que o Brasil teve".
Sai da Caixa: Tiago Abravanel recebe Samuel Rosa
Imagem: Reinaldo Canato/UOL
Uma música para cada momento
Depois de ter sido desafiado a cantar músicas de fora do seu repertório, com Luiz Melodia e Pepeu Gomes, Abravanel propôs um outro desafio: definir uma música para cada momento.
Para um mineirinho, não podia começar diferente: "Uma música para lembrar de Minas Gerais", pediu Abravanel. "Clube da Esquina 1", respondeu Samuel rapidamente. Para a surpresa de todos, na hora de escolher uma música para jogar futebol, "É Uma Partida de Futebol", não foi a escolhida por ele, mas sim "Homem Gol, de Jorge Ben Jor.
Entre outras, Samuel Rosa elegeu "Gabriel" do Beto Guedes uma ótima pedida para chorar. "Qualquer uma do Oasis", para ouvir baixinho, no fone de ouvido e Empire of the Sun para estourar na caixa de som.
... e ainda espero respostas
Inspirado em "Resposta", um dos hits de Skank, Abravanel quis saber se tem alguns pontos da vida que Samuel ainda espera a sonhada resposta.
Espero várias! A nossa existência mesmo, qual sentido disso aqui? O que é? Samuel Rosa
A Fazenda: Ex-peões voltam para sede em atividade da reta final
1 / 40
A Fazenda 2021: Gui Araujo retorna para atividade especial
Reprodução/Playplus
2 / 40
A Fazenda 2021: Sthe Matos é recebida com carinho por Gui Araujo
Reprodução/Playplus
3 / 40
A Fazenda 2021: Rico Melquiades durante atividade especial com ex-peões
Reprodução/Playplus
4 / 40
A Fazenda 2021: Sthe Matos é recebida com carinho por Dayane Mello
Reprodução/Playplus
5 / 40
A Fazenda 2021: Valentina e Mussunzinho em atividade
Reprodução/Playplus
6 / 40
A Fazenda 2021: Peões se reencontram para atividade
Reprodução/Playplus
7 / 40
A Fazenda 2021: Tati Quebra Barraco e Tiago se reencontram
Reprodução/Playplus
8 / 40
A Fazenda 2021: Victor Pecoraro volta para sede
Reprodução/Playplus
9 / 40
A Fazenda 2021: MC Gui em atividade com ex-peões
Reprodução/Playplus
10 / 40
A Fazenda 2021: Tiago Piquilo retorna para sede
Reprodução/Playplus
11 / 40
A Fazenda 2021: Mussunzinho durante atividade
Reprodução/Playplus
12 / 40
A Fazenda 2021: Valentina e Mussunzinho em atividade
Reprodução/Playplus
13 / 40
A Fazenda 2021: Dayane Mello durante atividade
Reprodução/Playplus
14 / 40
A Fazenda 2021: Lary Bottino retorna para atividade
Reprodução/Playplus
15 / 40
A Fazenda 2021: Erasmo Viana volta para atividade
Reprodução/Playplus
16 / 40
A Fazenda 2021: Erika volta para atividade
Reprodução/Playplus
17 / 40
A Fazenda 2021: Victor Pecoraro volta para atividade
Reprodução/Playplus
18 / 40
A Fazenda 2021: Solange Gomes em atividade com ex-peões
Reprodução/Playplus
19 / 40
A Fazenda 2021: Valentina Francavilla volta para atividade
Reprodução/Playplus
20 / 40
A Fazenda 2021: Bil Araújo durante atividade com peões
Reprodução/Playplus
21 / 40
A Fazenda 2021: Mussunzinho e Gui Araujo voltam para atividade
Reprodução/Playplus
22 / 40
A Fazenda 2021: Sthe Matos durante atividade
Reprodução/Playplus
23 / 40
A Fazenda 2021: Mileide Mihaile volta para atividade especial
Reprodução/Playplus
24 / 40
A Fazenda 2021: Mileide Mihaile e Dynho em atividade
Reprodução/Playplus
25 / 40
A Fazenda 2021: Erasmo Viana volta para atividade
Reprodução/Playplus
26 / 40
A Fazenda 2021: Erasmo e Sthe em atividade especial
Reprodução/Playplus
27 / 40
A Fazenda 2021: Gui Araujo e Rico em atividade
Reprodução/Playplus
28 / 40
A Fazenda 2021: Solange Gomes em atividade especial
Reprodução/Playplus
29 / 40
A Fazenda 2021: Dayane Mello durante atividade
Reprodução/Playplus
30 / 40
A Fazenda 2021: Dayane e Mussinzinho em atividade especial
Reprodução/Playplus
31 / 40
A Fazenda 2021: Tati Quebra Barraco e Solange na atividade
Reprodução/Playplus
32 / 40
A Fazenda 2021: Rico e Mileide durante atividade
Reprodução/Playplus
33 / 40
A Fazenda 2021: Aline Mineiro durante atividade especial
Reprodução/Playplus
34 / 40
A Fazenda 2021: Gui Araujo volta em atividade especial
Reprodução/Playplus
35 / 40
A Fazenda 2021: Tati e Lari voltam em atividade especial
Reprodução/Playplus
36 / 40
A Fazenda 2021: Bil e Tiago durante atividade
Reprodução/Playplus
37 / 40
A Fazenda 2021: Aline e Marina em atividade especial
Reprodução/Playplus
38 / 40
A Fazenda 2021: Dynho Alves em atividade com ex-peões
Reprodução/Playplus
39 / 40
A Fazenda 2021: Mileide Mihaile retorna para atividade especial
Reprodução/Playplus
40 / 40
A Fazenda 2021: Tiago e Bil em atividade especial
Reprodução/Playplus
Você pode assistir a toda a programação do Canal UOLaqui
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.