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

São Paulo

Com mais títulos no mundo, Dani Alves estreia na Libertadores pelo SPFC

Daniel Alves em ação pelo São Paulo - Bruno Ulivieri/AGIF
Daniel Alves em ação pelo São Paulo Imagem: Bruno Ulivieri/AGIF

José Eduardo Martins

Do UOL, em São Paulo

04/03/2020 04h00

Dono do maior número de títulos na história do futebol (40), Daniel Alves não tem em seu currículo nem sequer uma partida pela Copa Libertadores. Tal lacuna será fechada amanhã (5), quando o camisa 10 entrar em campo para defender o São Paulo contra o Binacional, do Peru, em Juliaca. Com três taças da Liga dos Campeões na sua galeria, o astro está confirmado entre os titulares na equipe de Fernando Diniz.

Em boa fase e com sua liderança natural, ele assumiu o comando do time e tenta ar um pouco de sua experiência internacional para os colegas. Apesar de não ter jogado ainda no torneio continental, ele já atuou em 18 cidades fora do Brasil. No total, foram confrontos em nove países na América do Sul (veja lista abaixo).

O fato de Juliaca estar a quase 4 mil metros acima do nível do mar também não preocupa o jogador de 36 anos. O hoje meio campista também disputou duas partidas em La Paz, na Bolívia, que está cerca de 3,6 mil metros acima do nível do mar. Nestas ocasiões, ele defendeu a seleção brasileira por 90 minutos, em 2009 e 2017.

Até mesmo por exercer essa liderança perante os colegas, o camisa 10 tem conversado bastante com os companheiros e discursado nas preleções. Na vitória sobre a Ponte Preta, no último fim de semana, pelo Campeonato Paulista, ele chegou a falar sobre a importância de o Tricolor paulista se impor.

"A gente tem que ser uma equipe acostumada a ganhar. Ter obsessão de ganhar, porque é para isso que trabalhamos. Não para ganhar hoje e perder amanhã. Não, não, não... Essa não é a equipe do São Paulo. Essa não é uma equipe campeã. É começar a criar esse costume de que aqui só vale vitória", bradou Daniel Alves.

Técnico também é novato

Não é só Daniel Alves que vai participar pela primeira vez da Copa Libertadores. Fernando Diniz jamais treinou uma equipe que disputava a principal competição entre clubes do continente. No entanto, ele cumpre suspensão amanhã porque o Fluminense, então comandado por Diniz, excedeu dois minutos dos 15 previstos para retornar ao campo no intervalo do jogo com o Peñarol, no ano ado, pela Copa Sul-Americana.

Por isso, o auxiliar Márcio Araújo será o responsável por dirigir o São Paulo em Juliaca. Para tentar minimizar os efeitos da altitude, a delegação viaja hoje para Santa Cruz de la Sierra, na Bolívia, e vai para o Peru apenas no dia do confronto.

Cidades em que Daniel Alves já jogou em outros países da América do Sul

Puerto Ordaz (Venezuela) - Copa América
Maturín (Venezuela) - Copa América
Puerto La Cruz (Venezuela) - Copa América
Maracaibo (Venezuela) - Copa América
Quito (Equador) - Eliminatórias para a Copa do Mundo de 2010
Montevidéu (Uruguai) - Eliminatórias para a Copa do Mundo de 2010
Rosário (Argentina) - Eliminatórias para a Copa do Mundo de 2010
La Paz (Bolívia) - Eliminatórias para a Copa do Mundo de 2010
La Plata (Argentina) - Copa América
Córdoba (Argentina) - Copa América
Temuco (Chile) - Copa América
Santiago (Chile) - Copa América
Concepcion (Chile) - Copa América
Buenos Aires (Argentina) - Eliminatórias para a Copa do Mundo de 2018
Assunção (Paraguai) - Eliminatórias para a Copa do Mundo de 2018,
Mérida (Venezuela) - Eliminatórias para a Copa do Mundo de 2018
Lima (Peru) - Eliminatórias para a Copa do Mundo de 2018
Barranquilla (Colômbia) - Eliminatórias para a Copa do Mundo de 2018

Quer assistir aos melhores jogos da Libertadores ao vivo? Experimente o FOX Sports pelo pelo UOL Esporte Clube!

São Paulo