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

Benja detona 'zona' em Palmeiras e Fla: 'Na escola era mais organizado'

Benjamin Back detona realização de Palmeiras X Flamengo - Fox Sports
Benjamin Back detona realização de Palmeiras X Flamengo Imagem: Fox Sports

Colaboração para o UOL, em São Paulo

27/09/2020 18h56

O apresentado Benjamin Back, do Fox Sports, se incomodou com a novela para a realização de Palmeiras e Flamengo, que terminou empatado em 1 a 1. Defensor do adiamento do jogo válido pela 12ª rodada do Campeonato Brasileiro, o jornalista criticou a "zona" dos últimos dias.

A partida só aconteceu após o TST (Tribunal Superior do Trabalho) aceitar um pedido da Confederação Brasileira de Futebol (CBF) e reverter decisões do Tribunal Regional do Trabalho do Rio de Janeiro (TRT-RJ) que haviam decretado o adiamento do jogo. A definição, porém, aconteceu minutos antes do horário marcado para a realização do confronto, que atrasou por conta da chegada do Fla ao estádio.

"E não é que vai ter jogo? Avisaram o Flamengo para subir correndo para o gramado. O futebol brasileiro, para virar uma zona, tem que profissionalizar demais, melhorar muito. Gente, que coisa patética, que coisa ridícula que a gente viu neste fim de semana. Que triste o futebol brasileiro ar por isso. É vergonha, cara. É constrangedor o que a gente está vendo", detonou Benja em vídeo publicado no seu Instagram.

"Não estou nem entrando no mérito de quem está certo ou errado, cada um defende o seu. Eu achava que não deveria ter jogo, tinha muita gente contaminada, mas isso é outra história. Se era para ter jogo, não pode deixar isso. O futebol profissional, que move milhões, que tem tanta gente envolvida... Os caras avisam em cima da hora. Na época da escola era mais organizado", completou.

Rindo para não chorar...

Uma publicação compartilhada por Benjamin Back (@benjaminbackoficial) em

Na sequência, as se voltam para a fase de grupos da Libertadores. Agora, as equipes se concentram na Libertadores. O Palmeiras recebe o Bolívar na quarta-feira (30), enquanto o o Flamengo enfrenta o Independiente del Valle no mesmo dia no Maracanã.