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

Time de SC desbanca o Palmeiras e vira maior invicto em casa no país

Jogadores do Hercílio Luz comemoram vitória em casa - William Lampert/Hercílio Luz FC
Jogadores do Hercílio Luz comemoram vitória em casa Imagem: William Lampert/Hercílio Luz FC

Marinho Saldanha

Do UOL, em Porto Alegre

28/06/2023 04h00

A derrota do Palmeiras para o Botafogo no último domingo fez o Alviverde perder o posto de time com a maior invencibilidade em casa do país. O posto mais alto no ranking agora é do Hercílio Luz, de Santa Catarina, que está há quase 600 dias sem ser derrotado no estádio Aníbal Torres Costa.

O que aconteceu

O Hercílio Luz não perde em casa há 598 dias: foram 26 jogos neste período, entre Campeonato Catarinense de 2022, Copa Santa Catarina de 2022, Campeonato Catarinense de 2023 e Série D de 2023.

Foram 18 vitórias e oito empates neste período, com 36 gols marcados e 11 sofridos. O time catarinense tem a maior invencibilidade do país em dias e também em número de jogos.

A última vez que o Hercílio Luz perdeu em casa foi em novembro de 2021.

Todas as partidas da invencibilidade local foram com o técnico Raul Cabral, que assumiu comando do time em julho de 2021.

O segundo na lista em jogos é o Grêmio, com 24 partidas. Em dias é o Botafogo-PB, com 410 dias.

Até perder para o Botafogo, o Palmeiras estava no topo da relação com 31 jogos. Sua última derrota no Allianz Parque tinha ocorrido em julho do ano ado.

Eu acredito que ser a maior invencibilidade no país nos traz mais responsabilidade. Demonstrar que a gente necessita fazer cada vez mais, procurar cada vez mais alternativas dentro dos jogos. E temos de parabenizar os atletas pela entrega e por seguirem as propostas e estratégias para que a gente consiga resultados positivos"

Raul Cabral, técnico do Hercílio Luz, ao UOL.

Jogadores do Hercílio Luz cumprimentam a torcida em jogo em casa - William Lampert/Hercílio Luz FC - William Lampert/Hercílio Luz FC
Imagem: William Lampert/Hercílio Luz FC

Maior invencibilidade local em dias

1 - Hercílio Luz-SC: 598 dias
2 - Botafogo-PB: 410 dias
3 - Bahia de Feira: 326 dias

Maior invencibilidade local em jogos

1 - Hercílio Luz-SC: 26 jogos
2 - Grêmio: 24 jogos
3 - Botafogo-PB: 19 jogos

Qual o segredo do Hercílio Luz? "Não tem segredo. É muito trabalho, muita dedicação e um processo que vem sendo desenvolvido há quase dois anos. Acredito que a continuidade desse projeto, desse grupo de atletas, dessa comissão técnica, faz com que a gente consiga evoluir cada vez mais. Acho que esses pontos fazem com que a gente consiga manter um padrão de organização a todo jogo. Claro que o apoio do nosso torcedor é importante, a atmosfera positiva para nos empurrar sempre em busca dos melhores resultados ajuda", disse Cabral.

A marca deixa mais visado? "Todo adversário que vem aqui nos enfrentar já tem uma ideia do histórico do Hercílio Luz nos últimos dois anos, de ser uma equipe muito forte dentro de casa, e eles têm vindo cada vez mais estruturados para conseguir nos vencer aqui. O que nos cabe é trabalhar cada vez mais e propor estratégias diferentes conforme o adversário que a gente enfrenta. Sempre contando com o apoio do torcedor, que é importante para alcançar os objetivos traçados pelo Hercílio Luz", acrescentou.