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

Como reprise do Fla-Flu indica que Silvio Santos gostou de futebol no SBT

Téo José narrou o Fla-Flu decisivo de 2020 pelo SBT - Reprodução
Téo José narrou o Fla-Flu decisivo de 2020 pelo SBT Imagem: Reprodução

Gabriel Vaquer

Colaboração para o UOL, em Aracaju

18/07/2020 04h00

Líder de audiência na última quarta-feira (15) com 26,2 pontos de Ibope contra 26,1 da Globo no Rio de Janeiro, a final do Campeonato Carioca vencida pelo Flamengo contra o Fluminense vai ser reprisada pelo SBT para o estado fluminense e Brasília no domingo (19). E isso pode ser uma boa notícia para quem quer o futebol de volta para a emissora por causa de um fator primordial: Silvio Santos.

Segundo apurou a reportagem do UOL Esporte, a reprise teve aval do dono da emissora e apresentador dos domingos. Normalmente, como tudo o que acontece no SBT, nada vai ao ar no domingo sem o aval de Silvio Santos, tanto em São Paulo, como no Rio de Janeiro, já que são as duas metrópoles mais importantes do país.

Existe também um fator importante: domingo é o dia de Silvio Santos e ele sabe que um bom resultado neste dia é importante. Além disso, o domingo no SBT tem bem a cara do gosto do dono da emissora. Colocar o futebol na manhã de domingo é um sinal positivo de que ele gostou muito dos números e da transmissão realizada.

Vale lembrar que, nos anos 90, Silvio Santos apostou forte no futebol. Comprou os direitos exclusivos da Copa do Brasil e tornou a competição um torneio muito importante no calendário brasileiro. Em 96, tentou comprar o Campeonato Brasileiro, mas uma cláusula de preferência manteve os direitos com a Globo, o que desmotivou o apresentador a manter seus investimentos - com exceção da pontual compra do Campeonato Paulista em 2003.

Mesmo com o sinal positivo do seu dono, diretores do SBT segue tratando um possível retorno ao futebol de forma definitiva com bastante cautela. O canal não descarta uma nova empreitada mais pontual e tudo vai depender de como alguns clubes vão evoluir a negociação de seus direitos daqui para a frente.

Nesse momento, formar uma equipe esportiva e competir por eventos esportivos não foi cogitado em nenhum momento, até pelos altos valores de competições nacionais - e também pela pandemia do novo coronavírus, que impactou as finanças de todos os canais abertos, já que anunciantes deixaram de investir.

Mas exibições de partidas disponíveis no mercado de campeonatos estaduais e nacionais são algo que anima os diretores. Por isso, alguns diretores estão observando o andamento da Medida Provisória 984, que dá aos clubes mandantes os direitos de transmissão. Essa medida pode ser interessante para que outros clubes se interessem na exposição que o SBT tem a dar.

A nova competição que o SBT vai transmitir pode estar mais perto do que se imagina. Flamengo, Vasco, Goiás e Atlético Goianiense estão organizando um torneio amistoso entre os dias 26 de julho e 2 de agosto que pode ser realizado em Brasília. Organizado pelo Flamengo, a ideia inicial é que esse torneio seja oferecido para o SBT transmitir.