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

Maratona: Ceará volta a jogar pelo Estadual um dia após final do Nordestão

Ceará está em maratona de jogos por três competições - Stephan Eilert / Ceará SC
Ceará está em maratona de jogos por três competições Imagem: Stephan Eilert / Ceará SC

Bruno Fernandes e Josué Seixas

Colaboração para o UOL, em Maceió

26/04/2021 16h01

A semana do Ceará está cheia de atividades. Nesta terça-feira (27), o time entra em campo contra o Arsenal de Sarandí, pela Copa Sul-Americana, e volta para o Brasil, onde jogará nos dois dias do fim de semana. No sábado (1), será disputado o primeiro jogo da final da Copa do Nordeste, contra o Bahia, fora de casa. Já no domingo (2), o time volta a campo pelo Campeonato Cearense, contra o Pacajus, na Arena Castelão, às 16h.

O campeonato estadual estava suspenso desde 12 de março, após o governador Camilo Santana (PT) proibir a realização de jogos da competição em uma tentativa de frear a proliferação do coronavírus no estado.

No fim de semana, após vencer o Vitória por 2 a 0 na semifinal do Nordestão, o técnico Guto Ferreira comentou sobre a sequência de jogos de viagens que o Vozão encontrará pela frente. Na partida, o Ceará abriu o placar e segurou o jogo. Para evitar desgastes, o treinador optou por trocar as peças mais importantes do time.

"Acho que hoje (sábado) nós tivemos um pouco de dificuldade no jogo, próprio de quem está jogando partidas seguidas, sempre no meio de semana e no fim de semana. Isso pesa um pouco, mas a nossa equipe conseguiu, dentro de campo, construir as jogadas de gol", disse Guto.

A sequência de jogos não prejudicou os resultados do Ceará. O time está há 22 jogos sem perder na Copa do Nordeste, além de ter a melhor defesa da competição (só três gols sofridos) e o segundo melhor ataque (19 gols marcados). Pela Copa Sul-Americana, o time estreou com vitória sobre o Jorge Wilstermann, pelo placar de 3 a 1, no Castelão. Contra o Arsenal de Sarandí, o Vozão jogará pela primeira vez na história uma partida oficial fora do Brasil.

O Vozão ainda disputa a Copa do Brasil, com jogos marcados para junho, contra o Fortaleza, e estreia na Série A do Campeonato Brasileiro contra o Grêmio, no dia 30 de maio.