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

Questionado por não enfrentar europeus, Brasil atropela na 1ª fase da Copa

Casemiro comemora gol Antony seu gol pelo Brasil contra a Suíça, pela Copa do Mundo - Fabrice COFFRINI / AFP
Casemiro comemora gol Antony seu gol pelo Brasil contra a Suíça, pela Copa do Mundo Imagem: Fabrice COFFRINI / AFP
Gabriel Carneiro, Igor Siqueira, Danilo Lavieri e Pedro Lopes

Do UOL, Doha

29/11/2022 04h00

Classificação e Jogos

Até chegar à Copa do Mundo 2022, a seleção brasileira tinha ado os quatro anos anteriores enfrentando europeus apenas uma vez: um longínquo amistoso diante da República Tcheca, em 2019. As dúvidas sobre como seriam os enfrentamentos contra equipes do Velho Continente pairavam até mesmo na cabeça da comissão técnica. Mas o fato é que o Brasil atropelou.

Depois de dois jogos no Qatar, duas vitórias sobre Sérvia e Suíça. Não foram placares elásticos (2 a 0 e 1 a 0, respectivamente), mas o Brasil mostrou uma segurança que saltou aos olhos. Um exemplo disso é que a seleção brasileira não permitiu aos adversários um chute a gol sequer. Todas as tentativas mais próximas de uma finalização foram bloqueadas.

"A imprensa sempre fala muito desse aspecto. A gente se preparou muito com as eliminatórias na América do Sul. Estão bem nivelados os jogos da América do Sul, Europa e África", avaliou o lateral-esquerdo Alex Sandro, titular do Brasil nas duas partidas.

Por mais que Sérvia e Suíça não sejam campeãs do mundo e nem tenham chegado longe em Copas do Mundo recentes, ambas as seleções chegaram ao Qatar credenciadas por classificações diretas nas Eliminatórias. Os sérvios desbancaram Portugal no grupo, enquanto coube à Suíça mandar a Itália para a repescagem — a Azzurra não saiu de lá, inclusive, e nem à Copa veio.

A preparação da comissão técnica da seleção para os jogos na primeira fase envolveu o envio de espiões brasileiros durante as datas Fifa na Europa neste ano. Isso envolveu os observadores Ricardo Gomes, Marcinho, Lucas Oliveira e Gabriel Oliveira.

Em termos de enfrentamento no cotidiano, os jogadores da seleção já estão acostumados com os europeus, pois 22 dos 26 convocados atuam no Velho Continente — Daniel Alves, Pedro, Éverton Ribeiro e Weverton são exceção.

"Pessoal sempre fala de seleções europeias, seleções que enfrentamos também são muito difíceis. Na Copa do Mundo, com uma grandeza dessa, os jogos ficam ainda mais difíceis. Mas o Brasil é isso, é muito grande, não é à toa que tem cinco estrelas no peito e quando a gente entra, independente de qualquer seleção, sempre vamos mostrar nossa grandeza", completou o meia-atacante Antony.

Nesta Copa do Mundo, a tendência pelos resultados e a projeção de chaveamento nas oitavas é que a seleção volte a enfrentar uma equipe europeia nas quartas de final. A grande possibilidade é que seja a Espanha, salvo alguma zebra.

Mas antes, o Brasil ainda tem o jogo contra Camarões pela primeira fase, na sexta-feira (2). Nas oitavas, o adversário sairá provavelmente de quem se der melhor entre Gana e Uruguai.


Direto do Qatar, o UOL News Copa fala sobre os sintomas de gripe entre os jogadores da Seleção, Neymar com febre e ainda em recuperação, se Tite deve mudar a escalação e mais! Confira:


Errata: este conteúdo foi atualizado
Diferentemente do que foi publicado no texto, 22 dos 26 convocados por Tite para a Copa do Mundo jogam na Europa, e não 23. O erro foi corrigido.