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

Sálvio Spínola critica árbitro de Corinthians x Guaraní e sugere lesão

Atletas do Guaraní celebram gol marcado contra o Corinthians na Libertadores - Jorge Adorno/Reuters
Atletas do Guaraní celebram gol marcado contra o Corinthians na Libertadores Imagem: Jorge Adorno/Reuters

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

12/02/2020 23h29

Durante a transmissão da TV Globo de Corinthians 2 x 1 Guaraní (PAR), pela Copa Libertadores, Sálvio Spínola criticou a atuação de Nestor Pitana e sugeriu que o árbitro argentino entrou em campo lesionado.

O comentarista de arbitragem avaliou que Pitana acertou nos cartões aplicados aos jogadores do Corinthians no primeiro tempo- incluindo a expulsão de Pedrinho, mas que não manteve o critério quando as faltas foram cometidas pelo Guaraní e deixou de mostrar cartões amarelos para os jogadores paraguaios.

"O árbitro foi bem no critério para aplicar os cartões amarelos aos jogadores corintianos. Todos merecidos, incluindo os dois do Pedrinho, que levaram à expulsão do jogador. Mas o critério estava descalibrado. Ele deixou de dar um cartão amarelo para o Báez, do Guaraní, que no fim do primeiro tempo levou outro amarelo e poderia ter sido expulso", disse Sálvio Spínola"

Uma possível lesão poderia explicar a má atuação do árbitro, de acordo com Sálvio Spínola. O comentarista destacou na Central do Apito uma imagem em que Nestor Pitana - que apitou a final da Copa do Mundo de 2018 - parecia estar mancando enquanto acompanhava uma jogada a uma distância considerável.

"O Pitana não pode apitar só com o nome. Ele parece estar lesionado. Ele não está correndo muito, está acompanhando as jogadas de longe. Neste lance, ele parece estar mancando", destacou Sálvio enquanto as imagens eram exibidas.

No segundo tempo, mais críticas: Sálvio Spínola afirmou que não houve falta na jogada que originou o gol do Guaraní, marcado por Fernando Fernandez.

"O Gil chega na marcação, mas recolhe o pé antes de tocar o atacante paraguaio, que se joga. Não foi falta", disse Sálvio.

No fim da transmissão, o comentarista ainda fez uma análise em que afirmou que a atuação de Pitana foi muito abaixo do esperado.

"Eu estou achando que ele está apitando só pelo nome, experiência. Está faltando critérios, posicionamento. Está faltando técnica de arbitragem", completou o ex-árbitro.