;(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();
})();
"Mistão" do Fla vence Junior sem sustos e carimba 1º lugar na Libertadores
Jogadores do Flamengo celebram gol contra o Junior Barranquilla Imagem: Alexandre Loureiro/Conmebol
Leo Burlá
Do UOL, no Rio de Janeiro
21/10/2020 23h21
Com uma série de compromissos pela frente e três taças em disputa, um Flamengo com muitas mudanças venceu hoje (21) o Junior Barranquilla por 3 a 1, com gols de Thuler, Lincoln e Bruno Henrique (Téo Gutierrez descontou). Com o resultado no Maracanã, a equipe assegurou o primeiro lugar no Grupo A da Libertadores.
Os donos da casa, que iniciaram o jogo com muitos jovens da casa e jogadores sem status de titular, sufocaram os colombianos e não deram chance de reação ao adversário, que foi envolvido pelos rubro-negros. O Fla esbanjou disposição e se valeu de sua maior qualidade técnica para garantir um triunfo sem maiores sustos.
Agora, a equipe muda a chave e volta a pensar na disputa do Campeonato Brasileiro. No domingo (25), o time visita o líder Internacional, às 18h15, no Beira-Rio.
Vitinho volta a brilhar
Imagem: Duda Bairros/Conmebol
Destaque na goleada contra o Corinthians, o atacante Vitinho voltou a ser peça importante do Flamengo. Sem posicionamento tão fixo, o camisa 11 flutuou pelas beiradas do campo e também organizou o time por dentro. Substituído no intervalo, faltou só calibrar a pontaria no arremate final.
Flamengo sobra e ganha com facilidade
Imagem: Alexandre Loureiro/Conmebol
Com a vaga para as oitavas já carimbada, o Flamengo não se contentou e foi em busca do primeiro lugar do seu grupo. Mesmo com muitas substituições, o time partiu para cima do Junior e não deu chance alguma para o rival.
Com muita rapidez pelos lados e superioridade numérica nas jogadas ofensivas, o Fla imprimiu ritmo forte desde o primeiro minuto e buscou ampliar a vantagem a todo momento. Diante de um rival frágil, o Rubro-negro impôs sua superioridade e cumpriu com louvor seu dever de casa, embora um cochilo da zaga tenha reacendido o Junior. Apesar do placar um pouco mais apertado, os rubro-negros seguiram em cima e liquidaram a fatura.
Junior sofre pelos lados
O lateral Fuentes não teve paz com as investidas do Flamengo pelo lado direito de ataque do Rubro-negro. Por ali, Matheuzinho, Michael e Vitinho tiveram muitos espaços e deitaram e rolaram em cima da zaga do Junior, que levou a pior na maioria dos lances. A situação não foi diferente pelo lado oposto e Piedrahita foi batido com facilidade por Bruno Henrique.
Borja sumido em campo
O ex-palmeirense Borja não teve uma noite das mais felizes no Maracanã. Sem ser municiado e dependente de um time que não criou quase nada, o atacante foi pouco notado em campo e apareceu mais em lances faltosos do que com a bola rolando.
Moleques em dose dupla
Dome aproveitou o jogo tranquilo para promover as estreias dos jovens Lázaro e João Gomes em jogos da Libertadores. A dupla da casa entrou no intervalo e não deixou a peteca cair.
Cronologia
Aos 10 de jogo, Léo Pereira cabeceou e Thuler completou para abrir o placar. Aos 39, Bruno Henrique foi a fundo, cruzou e Lincoln, de primeira, bateu e fez um bonito gol. Aos 23 da etapa final, a defesa do Fla se desarrumou e Téo Gutierrez aproveitou um contra-ataque bem montado para diminuir. Aos 29, Bruno Henrique, quase na marca do pênalti, cabeceou e ampliou.
Novidade na área
Agora, o programa de sócio-torcedor do Flamengo se chama Nação.
E, a partir das 19h, você confere tudo sobre a novidade - nova marca, novos benefícios e muito mais! Não perca um detalhe do bate-papo exclusivo com a FlaTV.
O Flamengo aproveitou o jogo de hoje para dar publicidade ao seu novo programa de sócio-torcedor. O "Nação Rubro-negra" foi rebatizado de "Nação", e a nova identidade visual já foi apresentada. Os novos planos serão lançados no dia 28 e o clube promete um incremento grande nos pacotes de benefícios.
Campo um pouco melhor
Alvo de muitas críticas nos últimos tempos, o gramado do Maracanã parece ter melhorado um pouco em relação a jogos recentes. É nítido que o campo não parece estar 100%, mas a bola já correu melhor em Flamengo x Junior.
FICHA TÉCNICA:
FLAMENGO x JUNIOR Data e horário: 21 de outubro de 2020, quarta-feira, às 21h30 (de Brasília) Local: Maracanã, no Rio de Janeiro (RJ) Árbitro: Patricio Loustau (ARG) Assistentes: Gabriel Chade (ARG) e Facundo Rodriguez (ARG) Cartões amarelos: Cetré (JUN) Cartões vermelhos: - Gols: Thuler, aos 10 do primeiro tempo; Lincoln, aos 39 minutos do primeiro tempo; Téo Gutierrez, aos 23 minutos do segundo tempo; Bruno Henrique, aos 29 minutos do segundo tempo.
FLAMENGO: César; Matheuzinho, Léo Pereira, Thuler (Noga)e Renê; Arão (João Gomes), Diego e Vitinho (Lázaro); Bruno Henrique, Michael e Lincoln (Ramon). Técnico: Domènec Torrent.
JUNIOR: Viera, Piedrahita (Sánchez), Rosero, Ditta e Fuentes; Didier Moreno (Vásquez), Pico e Luis González (Viáfara); Cetré, Borja (Valencia) e Téo Gutiérrez. Técnico: Luis Perea.
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.