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

Parto de calça jeans, acidentes: as cenas inusitadas de Cuidado Com o Anjo

Maite Perroni e William Levy protagonizam "Cuidado Com o Anjo" - Reprodução
Maite Perroni e William Levy protagonizam 'Cuidado Com o Anjo' Imagem: Reprodução

Filipe Pavão

De Splash, no Rio

20/06/2022 04h00

A novela "Cuidado Com o Anjo" está de volta às tardes do SBT na faixa das 17h. Sucesso de audiência, o folhetim mexicano foi exibido pela primeira vez na emissora de Silvio Santos em 2013 e reprisado em 2015. Agora, está na terceira exibição.

Mas a trama protagonizada pela mexicana Maite Perroni e pelo cubano William Levy não é lembrada apenas pela história de amor entre uma mocinha pobre e um homem rico. A produção conta com várias cenas que viraram memes na internet.

A história produzida por Nathalie Lartilleux em 2008 para a Televisa conta a história de Malú (Perroni), uma menina humilde e pobre que foi abandonada pela mãe assim que nasceu. Ainda assim, Malu é alegre e divertida. Um dia, Malú se mete em uma confusão, vai parar na delegacia e é julgada pelo juiz Patrício Valverde, seu pai biológico, e defendida pelo psicanalista João Miguel (Levy), por quem a moça se apaixona.

A partir daí, a trama oferece reviravoltas e algumas cenas inusitadas. Confira a seguir:

Parto de calça jeans

A cena mais lembrada nas redes sociais é a que Malú realiza o parto de Ana Julia (Michelle Vieth) personagem que finge ser sua amiga, mas, na verdade, também ama João Miguel e faz de tudo para separar os protagonistas. O detalhe que chama atenção na cena? A grávida está usando uma calça jeans durante o parto.

Atropelamento fake

Malú, que fica cega ao longo da trama após uma tragédia, acredita que João Miguel é um mau caráter e não a ama de verdade após ouvir falsas acusações de Ana Júlia. Ao encontrar o psicanalista na rua, Malú se recusa a ouvir as palavras de amor dele, sai caminhando em direção à rua, é atropelada por um carro e entra em coma. No entanto, a maneira como a série foi gravada dá a sensação de que Malú é quem atropela o carro.

Quedas de escadas

Malú sofreu alguns acidentes ao longo dos quase 200 capítulos, incluindo quedas em escadas. Em uma das cenas, Ana Júlia a manteiga no degrau de uma escada e faz Malu se acidentar. A personagem rola escada abaixo e desmaia momentaneamente.

Em outro momento, ainda cega, ela perambula pela cidade com sua mãe de criação, Candinha (Evita Muñoz), mas acaba se perdendo. Por não enxergar, ela não vê as escadarias de uma estação do metrô e cai enquanto carrega seu filho recém-nascido.