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

Gaúcho - 2023

Com reservas, Grêmio fica no 0 a 0 com São Luiz e não é mais 100%

Grêmio e São Luiz empataram pelo Campeonato Gaúcho - Lucas Uebel/Grêmio
Grêmio e São Luiz empataram pelo Campeonato Gaúcho Imagem: Lucas Uebel/Grêmio

Do UOL, em Porto Alegre

18/02/2023 18h26

O Grêmio não tem mais 100% de aproveitamento na temporada. Hoje, empatou por 0 a 0 com o São Luiz, em Ijuí, pela oitava rodada da primeira fase do Gauchão.

Já classificado, o Tricolor usou reservas. Vina, que fez sua estreia, foi um dos jogadores mais participativos em campo. O próximo jogo do Grêmio será contra o Novo Hamburgo, no dia 25.

"Tem que acertar. É ansiedade mesmo, temos que ter mais calma para concluir as jogadas", Vina, meia do Grêmio, após o primeiro tempo.

Como foi o jogo

O Grêmio mostrou falta de entrosamento. Com reservas e prejudicado pelo campo do estádio 19 de Outubro, o Tricolor criou bem menos do que Renato Gaúcho esperava.

As principais chances surgiram em roubadas de bola no ataque, elogiadas pelo comandante gremista.

Renato pediu calma para Vina na etapa inicial. O jogador fez sua estreia e pareceu nervoso para marcar o primeiro gol logo. No segundo tempo, Portaluppi reclamou bastante de erros de sua equipe.

O São Luiz tratou de se defender o máximo possível, e chegou ao ataque em lances rápidos.

Lances e gols

Lambança da zaga. São Luiz erra e na saída, mas Vina bate para fora aos 5 minutos do primeiro temo.

Vina de novo! Aos 14 minutos do primeiro tempo, Villasanti retoma a bola no ataque, bate, o goleiro Pablo defende, e Vina manda para longe no rebote.

36 minutos: chega o São Luiz. Em cobrança de falta perigosa, o São Luiz assusta, mas Adriel defende.

Pegou Adriel! Contra-ataque do São Luiz aos 10 minutos do segundo tempo, Igor Vinícius bate e Adriel coloca para escanteio.

FICHA TÉCNICA
SÃO LUIZ 0 X 0 GRÊMIO

Competição: Campeonato Gaúcho
Local: Estádio 19 de Outubro, em Ijuí (RS)
Dia e hora: 18/02/2023 (Sábado), às 16h30 (de Brasília)
Árbitro: Rafael Rodrigo Klein
Assistentes: Fabricio Lima Bassegio e Cássio Pires Dornelles
Cartões amarelos: Rafael Goiano, Álvaro, Marcio Goiano, Ygor Vinícius, Pablo (SLU); Cuiabano, Natã, Galdino (GRE);

São Luiz: Pablo; Mizael, Ricardo Talheimer e Marcio Goiano; Felipe Guedes (David), Paulinho Santos, Álvaro (Éderson) e John Lennon (Mauricio); Ygor Vinícius (Negueba) e Édipo (Lucas Sampaio). Técnico: Fabiano Daitx.

Grêmio: Adriel; João Pedro (Kauan Kelvin), Gustavo Martins, Natã e Cuiabano (Diogo Barbosa); Thiago Santos, Villasanti e Vina; Thaciano, Gabriel Silva (Rubens) e Everton Galdino (Zinho). Técnico: Renato Gaúcho.