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

OPINIÃO

Perrone: Corinthians tem obrigação de eliminar Guarani. Se não, será vexame

Do UOL, em São Paulo

21/03/2022 04h00

Dono da segunda melhor campanha na primeira fase do Paulistão, o Corinthians encara o Guarani na quinta-feira (24), pelas quartas de final do estadual - o jogo, às 19h (horário de Brasília), tem transmissão ao vivo pelo Canal UOL e acompanhamento minuto a minuto do Placar UOL. Apesar de jogar na Neo Química Arena, o Timão tem motivos para se preocupar para o duelo contra o Bugre, após a fraca atuação na vitória por 1 a 0 sobre o Grêmio Novorizontino neste domingo (20).

Na Live do Corinthians, programa do UOL Esporte logo após as partidas do Timão, os jornalistas Vitor Guedes e Ricardo Perrone projetaram a partida contra o Guarani, equipe de pior campanha entre os classificados para as quartas do Paulistão. O aparente favoritismo alvinegro, na visão deles, oculta os problemas da equipe.

"Não vai ar fácil, apesar de poder. Vai depender de qual Corinthians entrará em campo. Se for o que jogou contra a Ponte Preta [goleada por 5 a 0], a o carro em cima do Guarani. Se for o de hoje [ontem], terá problema. O Corinthians tem obrigação de se classificar. Se for eliminado, será um vexame", opinou Perrone.

Vitão também vê a classificação para as semifinais como um dever para o Corinthians. Além de jogar em casa, o Timão encara uma equipe que perdeu a metade dos seus jogos na primeira fase (seis derrotas em doze partidas).

"O Guarani está longe de ser aquele de 1978, 86 e 88. Está na Série B há muito tempo e fez uma campanha de 14 pontos. É o pior time classificado entre os oito desta fase. No grupo do Palmeiras, o lanterna fez mais pontos do que o Guarani [o Mirassol somou 17 pontos]. O Corinthians tem obrigação de ar. Se não ar, será uma vergonha", ressaltou.

Para Perrone, uma das principais armas do Corinthians na partida contra o Bugre será Gustavo Mosquito. "Vai depender muito dos veteranos, do que vai jogar Renato Augusto, Willian, Paulinho, e diria até do Mosquito. Se ele for mais agudo e o time conseguir fazer as jogadas para explorar a velocidade do Mosquito, vai complicar bastante para o Guarani", avaliou o colunista do UOL.

Apesar da história do time de Campinas, Vitão considera uma possível eliminação do Corinthians como um desastre. "Dos três adversários possíveis, Inter de Limeira, Guarani ou Água Santa, tenho o Guarani como o melhor dos três. É o que tem mais camisa, tem mais tradição e um time melhor. O destaque tem sido o Giovanni Augusto. O corintiano não tem saudade dele, mas tem funcionado no Guarani. Mas acabou de ser eliminado da Copa do Brasil pelo Vila Nova. O Corinthians tem que ar", completou.

Não perca! A próxima edição da Live do Corinthians será na quinta-feira (24), logo após a partida contra o Guarani pelas quartas de final do Paulistão. Você pode acompanhar o programa pelo Canal UOL, no app Placar UOL, na página do Corinthians no UOL Esporte ou no canal do UOL Esporte no YouTube.