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

Notícias em primeira mão dos bastidores do futebol, informações exclusivas sobre o seu time, novidades do mercado da bola e o melhor do jornalismo esportivo em um só lugar. Só para s UOL!

Hamburgo-ALE pode pedir perda de pontos do Santos a partir do dia 13

Santos não pagou time alemão por compra de zageuiro Cleber Reis (foto) em 2016 - Ivan Storti/Santos FC
Santos não pagou time alemão por compra de zageuiro Cleber Reis (foto) em 2016 Imagem: Ivan Storti/Santos FC

Do UOL, em São Paulo

01/10/2020 04h00

O Santos corre sério risco de perder pontos no Campeonato Brasileiro. A partir do dia 13 deste mês, quando abre a janela internacional de transferências, o Hamburgo (ALE) pode pedir à Fifa que a punição ao Peixe seja agravada. Isso pode ocorrer a partir da terceira janela em que o clube está punido: o alvinegro recebeu a proibição em março (primeira janela) e ou pelo período entre julho e agosto (segunda janela) sem poder contratar.

Não se trata de uma punição automática, mas os alemães podem solicitar à entidade máxima do futebol e, a partir daí, a Fifa somente informa ao Peixe o prazo final para pagar antes da aplicação da perda de pontos. O Santos deve R$ 26 milhões ao Hamburgo pela contratação do zagueiro Cléber Reis, em 2016. (Por Eder Traskini)

No RJ, Globo perdeu até para soma de canais pagos

A vitória do SBT no Ibope ontem (30) no Rio de Janeiro com Flamengo x Indepediente Del Valle por 18 pontos contra 12 da Globo, que exibiu Botafogo x Bahia, teve um requinte de crueldade. No segundo tempo, além de perder para o reality show "A Fazenda 12", da Record, e para o SBT, a Globo também ficou atrás da soma dos canais pagos. Segundo dados prévios do Ibope obtidos pela De Primeira no Rio, todos os canais da TV por fecharam com 11,4 pontos contra 11,0 da Globo, 12 da Record e 18 do SBT. O resultado foi visto nos bastidores da Globo como "pior que o imaginado". O próximo embate das emissoras será no dia 21 de outubro, com jogos envolvendo Palmeiras e Flamengo no SBT, contra Vasco x Corinthians no Brasileirão na Globo. (Por Gabriel Vaquer)

SBT fecha patrocinador para transmissões da Libertadores

O SBT fechou na noite desta quarta-feira (30) o terceiro patrocinador master para as transmissões da Libertadores da América. Além da Claro e Sportingbet.TV, a emissora de Silvio Santos fechou com a Amazon Prime, plataforma de streaming da Amazon. A empresa tem uma boa relação com o SBT, com quem tem uma parceria para a exibição de seriados nas madruagadas de sábado. Com isso, o SBT já fecha metade das cotas para a Libertadores. São mais três ainda disponíveis para marcas. A expectativa do SBT é que, com a pausa de três semanas, outras empresas procurem o departamento comercial. A De Primeira apurou que, com descontos, as cotas da Libertadores estão sendo vendidas por R$ 35 milhões. A projeção máxima do SBT é faturar R$ 210 milhões. (Por Gabriel Vaquer)

RedeTV! monitora SPFC e estuda proposta por Copa Sul-Americana

A RedeTV! voltou a se interessar pela Copa Sul-Americana, a segunda mais importante competição de clubes da América do Sul. A emissora monitora a situação do São Paulo e a possibilidade do Tricolor Paulista de ir jogar a competição, por ficar em terceiro em seu grupo da Libertadores da América. Mesmo com reclamações a fazer pela relação com a Conmebol na venda da Libertadores, o canal de Osasco entende que, com o São Paulo da disputa, a Sul-Americana muda de patamar para aquisição no Brasil. Se o Tricolor não perder para o Binacional em casa no dia 20 de outubro, ele se junta à Vasco e Bahia. Facilita para a RedeTV! o fato da Band ter se enfraquecido na disputa por uma questão financeira. A Copa Sul-Americana volta no dia 27 de outubro. Por enquanto, a exibição está apenas confirmada na Conmebol TV, serviço de pay-per-view da entidade disponível para s da Net/Claro e Sky. (Por Gabriel Vaquer)

Executivo ex-Inter que foi demitido por Peres em 2018 volta ao Santos

O Santos tem um novo Superintendente de istração e finanças: Luiz Eduardo Silveira. O executivo ou pelo Internacional entre 2016 e 2018, deixando o Colorado para acertar com o Peixe durante a transição de gestão após a chapa de José Carlos Peres e Orlando Rollo vencer a eleição para presidência do clube. Ele veio para Santos provisoriamente e, quando estava com a mudança acertada para a cidade, foi demitido antes dos mandatários efetivamente tomarem posse no clube. Agora, Silveira retorna com a missão de organizar as finanças do Santos, que tem uma dívida a curto prazo de R$ 52 milhões. (Por Eder Traskini)