;(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();
})();
Flamengo segura Defensa y Justicia e arranca vitória em estreia de Renato
Michael comemora gol do Flamengo contra o Defensa y Justicia pela Libertadores Imagem: Florencio Varela/Getty Images
Leo Bulá
Do UOL, no Rio de Janeiro
14/07/2021 23h23
Em noite de estreia de Renato Gaúcho no comando, o Flamengo venceu hoje (14) o Defensa y Justicia por 1 a 0, em jogo válido pelas oitavas de final da Libertadores. Com um gol de Michael, o Rubro-negro conseguiu importante vantagem no Estádio Norberto Tomaghello e deixou a cidade de Florencio Varela mais perto da vaga.
O triunfo dos cariocas veio em uma jornada pouco inspirada da equipe, que teve muitos problemas técnicos e ainda se ressente de desfalques de nomes como Rodrigo Caio, Diego, Willian Arão e Bruno Henrique.
Com o resultado, os rubro-negros jogam por um empate para seguirem para as quartas de final. O duelo decisivo será na próxima quarta-feira (21), às 21h30, e deve ser disputado no Mané Garrincha.
Flamengo arranca vitória
Em uma noite em que foi amplamente dominado pelo rival, o Flamengo contou com uma dose de sorte para vencer na Argentina. Previsível e sem mobilidade, o time foi presa fácil e fez uma de suas partidas mais pobres em muito tempo. Com os setores espaçados, o Fla caiu na armadilha da marcação do Defensa e abusou do direito de errar es. Não fosse por Diego Alves, dificilmente deixaria a partida com a importante vitória
Defensa não marca e é castigado
Disposto a pressionar o Flamengo desde o início, o Defensa y Justicia tentou empurrar o rival para seu campo de defesa e forçá-lo ao erro. A estratégia funcionou e os donos da casa conseguiram neutralizar o Fla com uma defesa sólida e um time que saía em velocidade e com muitos jogadores para atacar. A equipe de Beccacece criou, chegou ao gol de Diego Alves, mas desperdiçou as chances e deixou o campo com um resultado amargo.
Renato: pé quente em noite ruim
Imagem: Florencio Varela/Getty Images
Em sua estreia pelo Fla, o técnico Renato Gaúcho modificou a forma do time jogar e, apesar de um jogo fraco da equipe, acabou premiado com a vitória. O time teve muita dificuldade para sair jogando e sentiu as atuações ruins da dupla de zaga e dos dois volantes. Com a equipe descoordenada, Arrascaeta e Everton Ribeiro ficaram presos na muralha do rival. Isolado, Gabigol praticamente não participou do jogo.
Michael se destaca e salva o Fla
Mais uma vez, o atacante Michael foi o melhor rubro-negro em campo. Único jogador a fazer o Flamengo sair um pouco de seu campo, infernizou a zaga argentina e foi premiado com um gol que salvou os rubro-negros. A outra figura do time foi Diego Alves, que não foram bem com o jogo com os pés, mas fez defesas decisivas para o triunfo.
Isolado, Gabigol sofre
Imagem: Staff Images/Conmebol
De volta após um longo período a serviço da seleção brasileira, Gabigol não viveu grande noite. O desempenho abaixo da média do goleador se deveu muito ao restante do time, que jogou de forma espaçada e teve dificuldades na articulação de jogadas. Em sua única chance, foi parado por Unsain.
Cronologia
Aos 22 minutos do primeiro tempo, Michael chutou, a bola resvalou no zagueiro e matou Unsain. Foi o único gol da partida.
O jogo na Argentina marcou a estreia da nova camisa branca do Flamengo, que ainda não havia sido usada pela equipe principal. A peça tem alusões ao título do Mundial de 1981.
FICHA TÉCNICA
DEFENSA Y JUSTICIA X FLAMENGO
Motivo: Copa Libertadores Data: 14 de julho de 2021 Local: Estádio Norberto Tomaghello, em Florencio Varela (ARG) Horário: 21h30 (de Brasília) Árbitro: Eber Aquino(PAR) Assistentes: Eduardo Cardozo (PAR) e Jonny Bossio (PER) VAR: Diego Haro (PER) Gols: Michael, aos 22 minutos do primeiro tempo Cartões amarelos: Hugo Moura, Gustavo Henrique, Piris da Motta (FLA); Contreras, Escalante (DEF) Cartões vermelhos:
Defensa y Justicia: Unsain; Matías Rodrígues, Frías, Cardona e Soto; Rodríguez, Loaiza e Rotondi (Merentiel), Escalante, Walter Bou (Barrios) e Contreras (Hachen). Técnico: Sebastián Beccacece
Flamengo: Diego Alves, Isla (Matheuzinho), Gustavo Henrique, Léo Pereira e Filipe Luís; João Gomes, Thiago Maia (Piris da Motta), Everton Ribeiro (Pedro) e Arrascaeta (Bruno Viana); Gabigol e Michael (Vitinho). Técnico: Renato Gaúcho
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.