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

Rafael Reis

Com seca histórica, Brasil faz menos gols que Venezuela na Libertadores

Diego Souza é atacante do Grêmio, time que só marcou 3 gols nesta LIbertadores - Pedro H. Tesch/AGIF
Diego Souza é atacante do Grêmio, time que só marcou 3 gols nesta LIbertadores Imagem: Pedro H. Tesch/AGIF

29/09/2020 04h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

Balançar as redes adversárias tem sido um problema dos grandes para os clubes brasileiros nesta edição da Libertadores.

Nas primeiras quatro rodadas da fase de grupos, os sete times que representam o futebol pentacampeão mundial marcaram apenas 43 gols. Na média, isso significa 1,54 tento a cada 90 minutos.

Falando assim, até parece que esses números são bem positivos. Mas não se engane: isso é uma mera ilusão matemática. A média de gols brasileiros na competição continental é a mais baixa dos últimos cinco anos e perde até para a marca registrada nesta temporada pelas equipes venezuelanas.

Único país filiado à Conmebol que jamais disputou uma Copa do Mundo, a Venezuela tem média de 1,63 gol por apresentação na Libertadores-2020. Foram 13 bolas nas redes em oito partidas envolvendo Caracas e Estudiantes de Mérida.

A nação com ataque mais produtivo do torneio continental é a Argentina, com média de 1,85 tento por jogo. A terra de Lionel Messi e Kun Agüero tem também o time de maior poderio ofensivo deste ano: o River Plate, que já marcou 16 vezes.

Além dos atuais vice-campeões da Libertadores, apenas mais um time, o equatoriano Independiente del Valle, já tem um ataque de dois dígitos: 12 gols, cinco deles marcados apenas no confronto contra o Flamengo.

Dentre os times brasileiros, o que mais balançou as redes foi o São Paulo, com oito gols (mas também foi vazado oito vezes). Por outro lado, o Grêmio só anotou até o momento míseros três golzinhos e ou em branco em duas das quatro partidas que disputou.

A última vez em que os ataques tipiniquins foram tão poucos produtivos na competição sul-americana foi em 2015, quando o país encerrou a fase de grupos com média de 1,47 gol por jogo (44 tentos).

Já no ano seguinte, a frequência de tentos subiu para 1,93 a cada 90 minutos (58 durante a etapa de grupos) e foi a mais alta da história recente do país no torneio interclubes mais importante do continente.

Apesar do fraco desempenho ofensivo nesta temporada, o futebol brasileiro deve classificar quase todos os seus representantes para a fase final da Libertadores. Palmeiras, Athletico-PR, Inter e Santos lideram os seus grupos. Flamengo e Grêmio ocupam a segunda posição de suas chaves e também estão com a vida bem encaminhada.

O único em situação mais complicada é o São Paulo. Terceiro colocado do Grupo D, com apenas quatro pontos, a equipe comandada por Fernando Diniz dificilmente vai sobreviver no torneio se não vencer as duas últimas partidas que lhe restam: contra o River Plate, amanhã, na Argentina, e ante o Binacional, dia 20 de outubro, no Morumbi.

MÉDIA DE GOLS POR PAÍS NA LIBERTADORES-2020
Argentina - 1,85 por jogo
Venezuela - 1,63 por jogo
Brasil - 1,54 por jogo
Equador - 1,50 por jogo
Paraguai - 1,42 por jogo
Bolívia - 1,38 por jogo
Colômbia - 1,26 por jogo
Uruguai - 1,13 por jogo
Chile - 0,75 por jogo
Peru - 0,50 por jogo

PRÓXIMOS JOGOS DOS TIMES BRASILEIROS
Grêmio x Universidad Católica (hoje, às 19h15)
América de Cali x Internacional (hoje, às 21h30)
Athletico-PR x Jorge Wilstermann (hoje, às 21h30)
Palmeiras x Bolívar (amanhã, às 19h15)
River Plate x São Paulo (amanhã, às 21h30)
Flamengo x Independiente del Valle (amanhã, às 21h30)
Olimpia x Santos (quinta-feira, às 19h)