;(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();
})();
Arão marca no fim, perde pênalti e Flamengo é eliminado na Libertadores
Pedro consola Arão após volante do Fla perder pênalti contra o Racing Imagem: EFE/Antonio Lacerda POOL
Leo Burlá
Do UOL, no Rio de Janeiro
01/12/2020 23h37
Após dois empates por 1 a 1, Flamengo e Racing decidiram nos pênaltis a vaga às quartas de final da Libertadores. Com defesa de Arias na cobrança de Arão, os argentinos deixaram o Maracanã festejando a vaga.
Aos 19 da etapa final, Sigali abriu o placar que dava a vitória aos argentinos no tempo normal. Nos acréscimos, Arão, que desperdiçaria sua batida minutos depois, subiu mais alto e deixou tudo igual, levando a disputa para as penalidades. O Fla jogou mais de 30 minutos com 10, já que Rodrigo Caio foi expulso e dificultou a missão rubro-negra.
Eliminado da Copa do Brasil e fora da competição continental, os rubro-negros só têm o Brasileiro como tábua de salvação até o fim da temporada. O novo tropeço irá aumentar a temperatura na Gávea e a pressão por resultados irá crescer. Com o departamento de futebol em xeque, os próximos dias serão de turbulência e discussões sobre o futuro. Agora, a equipe junta os cacos para enfrentar no sábado (5) o Botafogo, às 17h, no Nilton Santos.
Flamengo não aproveita chances
O Flamengo controlou totalmente as ações da partida, mas fez o seu torcedor manter a respiração presa até o fim. A equipe sufocou o adversário desde o seu campo de ataque, mas faltou agredir mais o gol argentino. Apesar das boas tramas criadas, o time não foi efetivo na hora de matar o jogo. Pesou contra os donos da casa a atuação do goleiro Arias, que fez intervenções decisivas. Nos acréscimos e na base do abafa, Arão marcou e renovou as esperanças.
Racing se fecha e quase mata o jogo
O Racing veio ao Maracanã com uma proposta um pouco mais cautelosa e apostou nos espaços deixados pelo Flamengo para contra-atacar, especialmente no primeiro tempo. Os argentinos chamaram o rival para o seu campo de olho em uma retomada rápida e uma bola esticada nas costas da zaga. Na etapa final, os visitantes mantiveram uma postura conservadora, mas se aproveitaram de uma bola parada para marcar.
Vitinho cria e desperdiça
Sem Gabigol e com Pedro voltando de lesão, Vitinho foi o escolhido por Ceni para iniciar o jogo. O camisa 11 auxiliou na recomposição, roubou bolas, criou chances, mas desperdiçou todas elas. O jogador colecionou bonitos dribles e chapéus, porém falhou ao receber e açucarado de Arrascaeta. Cara a cara com Arias, ele chutou para fora. Ele ainda esteve perto de marcar, mas o goleiro fez defesa difícil após desvio.
Rodrigo Caio: do céu ao inferno
Imagem: EFE/Bruna Prado POOL
De volta após ficar longe do time do Flamengo desde o dia 22 de setembro, quando o Fla bateu o Barcelona (EQU) por 2 a 1, Rodrigo Caio retornou ao time e deu mais solidez ao sistema defensivo. Com uma saída de bola de mais qualidade, o zagueiro foi bem também no combate direto. A atuação do camisa 3, no entanto, foi comprometida com sua expulsão aos 17 minutos da etapa final. No lance seguinte, Sigali fez o gol. Para tentar superar a ausência, Rogério Ceni colocou o jovem João Gomes na vaga de Arrascaeta, enquanto Arão fez as vezes de zagueiro.
Cronologia
Aos 17 minutos do segundo tempo, Rodrigo Caio levou o segundo amarelo e foi expulso. Dois minutos depois, Sigali marcou. Aos 47 da etapa final, Arão empatou.
Pressão do lado de fora
A cada marcação desfavorável em um lance mais perigoso, os dirigentes do Racing que estavam no Maracanã berraram e pressionaram muito o árbitro chileno Roberto Tobar. Os rubro-negros presentes responderam com xingamentos e palavrões.
Assim como ocorreu em Buenos Aires, a chuva também era forte no Rio de Janeiro antes do jogo. Apesar da água, a bola rolou bem no Maracanã, já que a tempestade deu uma trégua com a partida em andamento.
Artilheiro na torcida
Pensamento e vibe positiva para hoje! JUNTOS! Pra cima meu @Flamengo ?? #PELACOPA
O artilheiro Gabigol não se recuperou a tempo do jogão, mas deixou sua mensagem para os companheiros por meio de suas redes sociais. O camisa 9 teve um dia de torcedor e sofreu na frente da televisão.
Tite presente
Acompanhado por César Sampaio e Juninho Paulista, Tite, técnico da seleção brasileira, acompanhou o jogo no Maracanã. Este ano, o treinador já convocou os rubro-negros Rodrigo Caio, Everton Ribeiro, Bruno Henrique e Pedro.
Homenagens a Maradona
No meio de faixas rubro-negras, duas nos tons da bandeira da Argentina e do Boca Junior se destacavam no Maracanã. Em homenagem a Diego Maradona, a torcida do Fla pendurou faixas com os dizeres "Gracias, Diego" e "Maradona hoy y sempre".
FICHA TÉCNICA
FLAMENGO 1 (3) X 1 (5) RACING
Competição: Copa Libertadores - Oitavas de final Data e hora: 1/12/2020 (terça-feira), às 21h30 (de Brasília) Local: Maracanã, no Rio de Janeiro Árbitro: Roberto Tobar (CHI) Assistentes: Christian Schiemann (CHI) e Claudio Urrutia (CHI) VAR: Julio Bascuñán (CHI) Gols: Sigali, aos 19 minutos do segundo tempo; Willian Arão, aos 47 minutos do segundo tempo. Cartões amarelos: Rodrigo Caio e Filipe Luís (FLA); Sebastián Beccacece, Mena, Fabricio Domínguez (RAC) Cartões vermelhos: Rodrigo Caio (FLA)
FLAMENGO: Diego Alves; Isla, Rodrigo Caio, Gustavo Henrique (Diego) e Filipe Luís; Willian Arão, Gerson, Everton Ribeiro (Pedro) e Arrascaeta (João Gomes); Bruno Henrique e Vitinho.Técnico: Rogério Ceni
RACING: Arias; Fabricio Domínguez, Sigali, Nery Domínguez, Soto e Mena, Matías Rojas, Miranda e Fértoli (Montoya); Reniero (Alcaraz) e Licha López. Técnico: Sebastián Beccacece
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.