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

Fluminense vive lua de mel com expectativa por Marcelo e Cano iluminado

Artilheiro: Cano chegou a 51 gols em 77 jogos pelo Fluminense -  Jorge Rodrigues/AGIF
Artilheiro: Cano chegou a 51 gols em 77 jogos pelo Fluminense Imagem: Jorge Rodrigues/AGIF

Roberto Oliveira

Colaboração para o UOL, em Aracaju

26/02/2023 04h00Atualizada em 26/02/2023 11h42

O Fluminense vive uma lua de mel com sua torcida.

As provas de amor foram dadas mais uma vez na vitória por 3 a 0 sobre a Portuguesa, no Maracanã, pelo Campeonato Carioca.

A expectativa da chegada de Marcelo e o momento iluminado de Germán Cano alegram o coração dos tricolores cariocas.

Antes de ser oficialmente apresentado, o ex-jogador do Real Madrid mandou um recado à torcida no telão do estádio, ganhou perucas personalizadas e até uma música com provocação ao rival Flamengo (veja abaixo).

O técnico Fernando Diniz avaliou que o anúncio da contratação de Marcelo motivou o elenco e contagiou a torcida no Maracanã.

Poder contar com ele é motivo de alegria, satisfação e orgulho. É curtir esse momento, a energia da contratação dele deu uma contagiada, os jogadores estão muito contentes e os torcedores também ficaram muito felizes. O Marcelo dispensa comentários e apresentações, é um craque do quilate mais alto que o mundo produziu nos últimos 15 anos, é um cara que dá prazer em ver jogar." Fernando Diniz

Crianças de peruca e com camisas personalizadas com o número 12, apenas um dia após o anúncio da contratação, dão a medida do impacto imediato da chegada de Marcelo.

"É motivo de muita alegria para mim como técnico, para o Fluminense como instituição e para os torcedores ter um jogador desse calibre voltando para casa. Com a qualidade que ele tem, tem tudo para esse casamento ser bem-sucedido", completou Diniz, que revelou uma conversa franca com Marcelo antes da contratação.

Cano faz o L

Outro motivo de alegria intensa para a torcida do Fluminense é o momento iluminado vivido por Germán Cano. Ele fez dois gols contra a Portuguesa e chegou a 51 em 77 jogos pelo clube.

O atacante argentino já soma sete gols em 2023 e é o artilheiro do Campeonato Carioca, ao lado de Lelê, do Volta Redonda. Além disso, vai ser pai novamente, agora de "uma menina carioca".

Cano afirmou que vive um momento especial na carreira e disse que o nome da filha também começará com L —marca registrada de suas comemorações em homenagem ao filho Lorenzo, que virou uma espécie de mascote da torcida.

Ele pediu ajuda dos tricolores para escolher o nome da filha. "Sim, tem que ser [com L]. Pedimos ajuda das pessoas para procurar um nome. É um momento muito lindo da minha família e da minha carreira. Vai nascer aqui, vai ser uma menina carioca, estamos muito felizes", declarou o jogador após a partida.

A felicidade de Cano se traduz em gols e na alegria dos torcedores e do técnico Fernando Diniz, que melhorou o desempenho do atacante no Fluminense em relação à agem pelo Vasco.

"Tenho uma relação bastante especial com o Cano que começou no Vasco, onde ele tinha números um pouco ruins e a média dele aumentou muito. A compreensão tática dele também mudou e a entrega que ele tem facilita que o time consiga produzir mais para que ele possa fazer os gols", afirmou Diniz.

"Ele é um pilar central pelos gols que faz, jogador que faz gol é uma raridade no mundo, uma das coisas mais difíceis no futebol é fazer gol, e o Cano tem talento nato, é dele. Somado a isso, é extremamente coletivo, ele faz tudo pelo time e pelos companheiros", completou o treinador.

Agenda

O Fluminense é agora vice-líder do Campeonato Carioca com 19 pontos, quatro atrás do líder Flamengo.

O próximo compromisso da equipe é no próximo sábado (4), contra o Bangu, fora de casa. Até lá, a expectativa é pela chegada de Marcelo.

Veja os gols do Fluminense