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

Palmeiras

Cinco problemas ofensivos que Luxemburgo precisa resolver no Palmeiras

Vanderlei Luxemburgo, técnico do Palmeiras, tenta fazer a equipe ser mais perigosa - Cesar Greco/Ag. Palmeiras
Vanderlei Luxemburgo, técnico do Palmeiras, tenta fazer a equipe ser mais perigosa Imagem: Cesar Greco/Ag. Palmeiras

Thiago Ferri

Do UOL, em São Paulo

14/08/2020 04h00

Em sete jogos contra equipes de Série A na temporada, o Palmeiras não venceu e fez apenas três gols. A equipe tem esbarrado na falta de criatividade ofensiva, como no jogo da última quarta-feira (12), contra o Fluminense, no Maracanã.

Com a sequência de dois jogos por semana, o Verdão tem pouco tempo de trabalho antes de voltar a campo, amanhã (15), contra o Goiás, às 21h30, no Allianz Parque. O jogo é válido pela terceira rodada do Brasileirão.

Para, enfim, ganhar de equipes da elite do futebol nacional, Vanderlei Luxemburgo precisa encontrar formas de deixar o Alviverde mais perigoso. O UOL Esporte lista abaixo os principais problemas para o treinador:

Meias não empolgam, e time muda estilo

A ideia de Luxemburgo é fazer do Palmeiras uma equipe que jogue com a bola. Só que nenhum dos meias se firmaram — Lucas Lima e Raphael Veiga foram mal nas chances entre os titulares, enquanto Gustavo Scarpa não é visto como um armador pela comissão técnica, mas sim um construtor aberto pelo lado direito.

Com isso, o Verdão chegou ao título paulista jogando sem um "10". Patrick de Paula, Gabriel Menino e Ramires tiveram bons momentos, especialmente contra a Ponte Preta, mas a equipe mostrou mais dificuldades para criar na final do Paulista, jogando com menos posse, apesar do título. Com a escalação mista contra o Flu, Veiga começou jogando, mas o problema permaneceu. O gol de Luiz Adriano veio de uma transição a partir do desarme de Vitor Hugo.

Rony ainda zerado

O camisa 11 foi contratado após longa novela com o Athletico-PR e conviveu com grande expectativa, que até o momento não foi atingida. Depois de 12 jogos pelo Palmeiras, Rony ainda não fez gols e tem sido criticado por parte da torcida.

Na segunda final com o Corinthians, Luxemburgo colocou o atacante na reserva, pensando em usar sua velocidade no segundo tempo. Diante do Flu, voltou aos 11 iniciais, mas sem criar muito perigo, deixou a equipe na etapa final.

Willian não voltou bem

Artilheiro do Palmeiras na temporada junto de Luiz Adriano com oito gols, Willian não voltou da pausa no mesmo ritmo do começo do ano. Jogador mais perigoso da equipe nos primeiros meses de 2020, o camisa 29 balançou as redes pela última vez no dia 7 de março, contra a Ferroviária.

Lesões diminuem as opções

Gabriel Veron e Luan Silva sofreram lesões na coxa direita e por isso não jogaram neste retorno das competições. O primeiro era o principal candidato a substituir Dudu, enquanto o segundo vinha chamando atenção nos treinos, mas já tinha se machucado em sua estreia, contra a Ferroviária.

Veron está fazendo a transição entre a parte física e técnica e está mais perto de voltar. Sem a dupla, o Palmeiras pediu a volta de Angulo do Cruzeiro e promoveu Gabriel Silva do sub-20, enquanto Wesley perdeu espaço após iniciar 2020 em alta.

A busca pelo substituto de Dudu

Dudu foi nos últimos cinco anos o melhor jogador do Palmeiras. Sua saída para o Al-Duhail, do Qatar, não foi reposta com contratações, e até o momento Vanderlei Luxemburgo não encontrou alguém que assumisse o papel do ex-camisa 7.

Luiz Adriano foi decisivo com gols na final do Paulista e contra o Fluminense, mas é um jogador para concluir jogadas. A importância de Dudu era maior na circulação de bola e criação de jogadas. Não há, até agora, alguém no elenco que exerça este papel.

Palmeiras