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

Karen Jonz esquece áudio aberto ao vivo e brinca: 'Toda vez é uma vergonha'

Skatista e comentarista do SporTV falou com o marido durante transmissão - Reprodução/Instagram
Skatista e comentarista do SporTV falou com o marido durante transmissão Imagem: Reprodução/Instagram

Do UOL, em São Paulo

18/08/2021 13h13

Depois de fazer sucesso comentando as Olimpíadas de Tóquio de um jeito "sincerão", a skatista Karen Jonz protagonizou mais um momento inusitado ao vivo durante uma transmissão do esporte no SporTV nesta tarde.

Participante da exibição do Red Bull Paris Conquest, evento de skate street, a brasileira esqueceu o áudio ligado no meio das performances e provocou risos do narrador Everaldo Marques.

Tudo começou quando Karen, ao perceber o áudio da transmissão um pouco alto, questionou Evê e o também comentarista Geninho. "Vocês estão... está esse áudio dos gringos falando alto pra vocês aí também ou só pra mim?"

Sem notar a pergunta de Karen, a dupla seguiu normalmente a transmissão. "Esse cara é uma lenda, Evê. Patt Dufy...", disse Geninho, ao ser cortado involuntariamente pela skatista, que esqueceu o microfone aberto ao falar com o marido, Lucas Silveira.

"O que foi? Tá tudo... Falei pra Carol não mandar agora... está tudo ali na sala", disse ela, em diálogo com o marido dentro de sua casa.

Rapidamente, Everaldo brincou com a situação e "alertou" a colega de transmissão: "fecha o microfone aí, Karen!".

"Oxi, eu achei que eu tinha fechado. Foi mal! Apertei e abri", se surpreendeu Karen ao notar que estava no ar.

"Ai, toda vez é uma vergonha que eu o, não é possível! Nossa, é toda vez, eu me esforço, mas... eu achei que eu tinha fechado, é que chegou um pessoal pra pegar a encomenda aqui e eu não podia sair", se explicou a skatista, que foi acalmada pelo narrador.

"Mas sabe o que é mais legal? Isso humaniza. O negócio não é não errar, porque todo mundo erra, somos humanos. Mas é brincar com o erro e seguir em frente. Por isso que o Brasil se apaixonou por vocês nos Jogos Olímpicos, Karen. Entregou a encomenda direitinho? Tá tudo certo?", afirmou Evê.

"Acho que sim, não saí daqui. Pedi pro Lucas trazer uma água para mim... quando estava entrando o áudio do pessoal falando em inglês, vocês também ouvem?", perguntou Karen ao retomar o tema inicial. "Às vezes!", finalizou o narrador.