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

Mauricio Stycer

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Após um ano, Globo fala com transparência sobre reprises de novelas

Na volta de "Amor de Mãe", Lurdes (Regina Casé) adotou cuidados para evitar a covid-19  - Reprodução / Internet
Na volta de "Amor de Mãe", Lurdes (Regina Casé) adotou cuidados para evitar a covid-19 Imagem: Reprodução / Internet

Colunista do UOL

21/03/2021 07h01

Desde a suspensão de "Amor de Mãe" em 20 de março de 2020, há um ano, a Globo vem sendo obrigada a exibir reprises de novelas em todas as faixas da programação. A medida, como se sabe, é uma consequência da pandemia de coronavírus.

A emissora chegou a considerar, em algum momento do segundo semestre do ano ado, que as coisas voltariam ao normal no início de 2021. Mas a pandemia, após uma breve melhora, recrudesceu. E vários planos tiveram que ser revistos.

No domingo ado (14), de uma forma até então inédita, a Globo falou com transparência sobre as dificuldades que vem enfrentando para produzir o seu conteúdo mais consumido pelo público - as novelas.

Numa chamada de três minutos, no intervalo do "Fantástico", a emissora anunciou as próximas estreias e reprises. Na voz de Regina Casé, fomos informados que, após os 23 capítulos inéditos de "Amor de Mãe", voltaremos a assistir a "Império".

"A gente teve que programar mais uma reprise, às 21h, para dar tempo de adiantar 'Um Lugar ao Sol', que ficou para o segundo semestre. Então, enquanto você aguarda para ver Cauã Reymond fazendo gêmeos, curte uma novela que ganhou o Emmy".

Regina falou das estreias programadas das próximas novelas inéditas das 18h, "Nos Tempos do Imperador", em agosto, e das 19h, "Quanto Mais Vida, Melhor", em julho.

E, com sinceridade, a emissora avisou que ainda não sabe quando exibirá o remake de "Pantanal": "Não dá para saber se estreia esse ano ou no começo do ano que vem. Isso, como tudo, está dependendo da situação da covid. Mas aqui na Globo, a gente está trabalhando com muito cuidado, e todo amor, para trazer de volta as suas novelas".

Não são as melhores notícias, mas ao menos temos informações claras sobre a situação.

Stycer recomenda
Mion na Globo: Bastidores do namoro que não deu em casamento ainda

Governo cancela contrato e tira do ar única TV para surdos

É obrigação da CNN corrigir fake news de comentaristas, diz CEO do canal

GloboNews e Viva lideram com folga ibope na TV paga; veja o ranking

Melhor da semana
Ao vivo, Leifert acerta com piadas e cobranças, mas erra com interferências

Pior da semana
RedeTV! corrige reportagem, mas segue exaltando remédio não recomendado

Podcast
Por que Projota mereceu sair do 'BBB 21'

Uma versão deste texto foi publicada originalmente na newsletter UOL Vê TV, que é enviada às quintas-feiras por e-mail. Para receber, gratuitamente, é só se cadastrar aqui.

Siga a coluna no Facebook e no Twitter.