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

Fluminense

Onde assistir e quanto custará acompanhar os jogos do Fluminense no Carioca

Fluminense inicia o Carioca nesta quinta-feira, quando receberá o Bangu, na Ilha do Governador - Mailson Santana / Fluminense
Fluminense inicia o Carioca nesta quinta-feira, quando receberá o Bangu, na Ilha do Governador Imagem: Mailson Santana / Fluminense

Do UOL, no Rio de Janeiro

26/01/2022 04h00Atualizada em 26/01/2022 19h44

O Campeonato Carioca começa para o Fluminense nesta quinta-feira (27), quando receberá o Bangu, às 21h (horário de Brasília), na Arena Luso Brasileiro, na Ilha do Governador. A transmissão da competição ainda é uma incógnita para muitos torcedores, mas o UOL Esporte vai tirar suas dúvidas e dizer quanto os fãs gastarão e onde poderão acompanhar os jogos do time.

Onde assistir

O Carioca será transmitido na TV aberta pela Rede Record. O duelo escolhido pela emissora para inaugurar os trabalhos é Flamengo x Portuguesa, na quarta-feira. Os demais jogos ainda não foram definidos, mas há outra opção para acompanhar todas as partidas da sua equipe.

O sistema de pay-per-view também está disponível e em dois formatos. Você pode através da sua TV por ou no streaming. Nesse caso, há possibilidade de contratar o Cariocão Play, aplicativo lançado pela Ferj e que contará com seis tipos de narração diferentes: uma mais tradicional, outra baseada em estatísticas e as demais focada em cada grande clube —transmitidas peor Botafogo TV, Fla Tv, Flu TV e Vasco TV.

Quanto custará?

As vendas começaram desde o último dia 10 e custam R$ 129,90 o pacote total de jogos e com mensalidades a partir de R$ 49,90. O jogo avulso durante a Taça Guanabara custará R$ 29,90. Uma das novidades que está prevista é a aplicação de um desconto de 10% para os sócios-torcedores que estiverem adimplentes com seus clubes.

As opções

O torcedor que quiser ajudar o clube poderá comprar o pacote diretamente com a Flu TV. Isso fará com que o dinheiro investido seja maior para o Tricolor. Mas vale ressaltar. Essa escolha fará com que você tenha apenas a narração mais direcionada e pelo streaming.

O mesmo ocorre caso o torcedor escolha comprar o PPV através da operadora de televisão. Neste caso, o consumidor poderá acompanhar os jogos somente pela TV a cabo, sem a opção de streaming.

No Carioca, ao contrário do que ocorre no Campeonato Brasileiro, por exemplo, não existe essa facilidade de flutuar entre as plataformas. Quem comprar pelas operadoras de TV ficará preso à TV a cabo. Já quem optar pelo streaming só poderá acompanhar os duelos através da internet.

Fluminense