;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Faria? McDonald's sueco abre barbearia e quer relançar moda de corte em 'M'

Barbearia inaugurada em Estocolmo, na Suécia, não recebe clientes presencialmente - Divulgação/McDonald"s
Barbearia inaugurada em Estocolmo, na Suécia, não recebe clientes presencialmente Imagem: Divulgação/McDonald's

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

11/12/2020 12h51

A equipe de marketing do McDonald's na Suécia teve uma ideia de campanha inovadora, e está tentando relançar a moda dos cortes de cabelo em "M". Até uma "Mc barbearia" foi aberta pelos publicitários para ajudar os clientes interessados em fazer icônico corte de cabelo dos anos 90, em troca de um hambúrguer Big Mac gratuito.

Mas, por que o McDonald's da Suécia se interessaria em relançar uma moda de três décadas atrás?

A resposta de Staffan Ekstam, diretor de marketing da rede de fast-food na Suécia, é simples. Segundo ele, a franja estilizada em "M" lembra os arcos dourados do logotipo da marca.

"Iniciamos a Barbearia M não apenas para promover nossos arcos dourados, mas também para reivindicar o corte de uma vez por todas", afirmou Staffan para o site Fox News.

Cartaz da campanha que tenta relançar moda na Suécia - Divulgação/McDonald's - Divulgação/McDonald's
Cartaz da campanha que tenta relançar moda na Suécia diz: 'Um penteado para quem tem um gosto requintado. O 'M' dourado'
Imagem: Divulgação/McDonald's

A barbearia aberta pelo McDonald's em Estocolmo, no entanto, não é feita para atender clientes pessoalmente. O diretor de marketing explicou que "uma mão amiga" orienta os clientes a como fazer o penteado "M" dentro de casa, em função das medidas de isolamento social causadas pelo coronavírus.

O penteado icônico dos anos 90, com franjas lisas geralmente divididas no meio, foi utilizado por celebridades na época e estava começando a ter novos adeptos na Suécia, quando o marketing do McDonald's teve a ideia de tentar popularizá-lo de vez.

Hugh Grant e Leonardo DiCaprio foram astros das telonas a adotar o estilo nos anos 90 - Reprodução/Pinterest - Reprodução/Pinterest
Hugh Grant e Leonardo DiCaprio foram astros das telonas a adotar o estilo nos anos 90
Imagem: Reprodução/Pinterest

Seja pelo corte de galã de cinema ou pela chance de ganhar um Big Mac de graça, a campanha "M dourado" está caindo nas graças dos fãs da rede de fast-food, que em menos de duas horas popularizaram o "desafio" na internet.

Vale ressaltar que não é necessário fazer um corte perfeito e todos os tipos de cabelo podem reivindicar o prêmio. Os clientes que comparecerem às sessões virtuais com aulas de corte de cabelo e estilismo digital, já ganham um "vale" Big Mac para ser encomendado no aplicativo local da rede.