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

Eurocopa - 2021

Dinamarca vence a República Tcheca e vai às semifinais da Eurocopa

Jogadores da Dinamarca comemoram o segundo gol marcado sobre a República Tcheca na Euro - Valetin Ogirenko - Pool/Getty Images
Jogadores da Dinamarca comemoram o segundo gol marcado sobre a República Tcheca na Euro Imagem: Valetin Ogirenko - Pool/Getty Images

Colaboração para o UOL, em São Paulo

03/07/2021 14h56

Na tarde deste sábado (3), a Dinamarca venceu a República Tcheca por 2 a 1, pelas quartas de final da Eurocopa, em Baku, no Azerbaijão. Com esse resultado, a Dinamarca garantiu sua vaga na semifinal do torneio. Os gols da partida foram marcados por Delaney e Dolberg, para os dinamarqueses, e Patrik Schick, para os tchecos.

Agora, a seleção dinamarquesa espera o resultado da partida entre Inglaterra e Ucrânia - que acontece hoje, às 16h (de Brasília) - para saber quem irá enfrentar na semifinal da Euro.

A outra semifinal da competição será entre Itália e Espanha na próxima terça-feira, 06, às 16h (de Brasília).:

O jogo

Começo dinamarquês

Sem dar tempo para a República Tcheca se ambientar no jogo, logo aos quatro minutos, a Dinamarca abriu o placar. Depois da cobrança de escanteio, Delaney cabeceou, praticamente da marca do pênalti, livre de marcação, para balançar a rede.

Após o gol, a seleção dinamarquesa subiu suas linhas e pressionou bastante, não dando espaços para os tchecos.

O aniversariante do dia, Damsgaard, teve a bola para ampliar a vantagem, mas desperdiçou. O atacante dinamarquês tocou na saída do goleiro, mas Coufal tirou em cima da linha.

Aos 41 da primeira etapa, Maehle fez um ótimo cruzamento, de trivela, a bola foi para a pequena área, e Dolberg só completou para aumentar o marcador.

Reação tcheca

O segundo tempo começou com a República Tcheca indo para o 'tudo ou nada'. Na volta do intervalo, o treinador tcheco colocou o Jankto e Krmencík, dois jogadores ofensivos.

Logo nos primeiros segundos, Schmeichel fez duas boas defesas. Aos três minutos, o artilheiro tcheco diminuiu a vantagem dinamarquesa. Coufal fez o cruzamento, a bola foi baixa, mas Patrik Schick conseguiu fazer o desvio, para vencer o goleiro dinamarquês.

Novo artilheiro da Euro

Com este gol, Schick empatou com Cristiano Ronaldo com cinco gols, na artilharia da Eurocopa. Além disso, ele se igualou ao Milan Baros, que foi o artilheiro da Euro 2004, e é maior goleador dos tchecos em uma única edição do torneio.

Final mais equilibrado

Depois do começo de segundo tempo avassalador da República Tcheca, a Dinamarca se encontrou na partida e o jogo voltou a ser equilibrado. As duas equipes chegaram a se igualar na porcentagem da posse de bola.

O bom começo da seleção dinamarquesa, abrindo dois gols de vantagem, foi decisivo para definir o resultado da partida. Apesar de melhor na segunda etapa, a República Tcheca não conseguiu reverter a desvantagem no placar.