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

Qual será o preço do iPhone 13? Lançamento poderá chegar mais caro; entenda

Comercial da Apple mostra iPhone 12 caindo "de cara" no chão... e saindo intacto - Reprodução/Apple
Comercial da Apple mostra iPhone 12 caindo "de cara" no chão... e saindo intacto Imagem: Reprodução/Apple

Letícia Naísa

De Tilt, em São Paulo

26/08/2021 17h42

Além dos muitos rumores sobre os recursos da nova linha de iPhone, que deve ser apresentada em setembro, há uma questão: quanto ele vai custar? Dizem por aí que o preço de lançamento dos celulares será ainda mais caro do que o iPhone 12 (chegou ao Brasil por R$ 6.999 no ano ado).

Uma empresa fornecedora dos chips de iPhone, por exemplo, a multinacional taiwanesa TSMC, vai aumentar em 20% o custo de produção dos itens a partir de janeiro de 2022. Segundo o portal Digitimes, esse aumento vai entrar na conta do consumidor já no preço final do iPhone 13.

A TSMC não entrou em detalhes sobre o que causou o acréscimo em seus custos, mas o aumento da demanda de componentes eletrônicos nos últimos meses pode estar entre os motivos, além do impacto da pandemia sobre o fornecimento de matéria-prima, de acordo com análise do site especializado Techradar.

Os preços de lançamento da família de 2020 foram:

  • iPhone 12 Mini (5,4 polegadas): US$ 699 (64 GB); e US$ 729 desbloqueado e sem plano de operadora
  • iPhone 12 (6,1 polegadas): US$ 799 (64 GB); e US$ 829 desbloqueado e sem plano de operadora
  • iPhone 12 Pro (6,1 polegadas): US$ 999 (128 GB)
  • iPhone 12 Pro Max (6,7 polegadas): US$ 1.099 (128 GB)

Número cabalístico

Outro rumor que correu solto foi sobre a mudança de nome do novo iPhone. O número 13 carrega muitas superstições, por isso, a Apple estaria estudando um novo título para o lançamento.

Uma pesquisa da loja americana SellCell mostrou que 74% dos consumidores esperavam que a Apple não usasse o número 13 no novo iPhone.

No entanto, uma postagem do usuário DuanRui no Twitter mostrou uma suposta etiqueta da embalagem do novo celular da Apple escrito iPhone 13. Tudo indica, então, que a Apple vai manter o número cabalístico 13.

E quando ele será lançado?

O tradicional evento de lançamento da Apple deve acontecer em setembro, se nada for adiado por conta da pandemia, como aconteceu em 2020.

Um site de ecommerce chinês chamado IT Home deixou escapar que a pré-venda do iPhone 13 pode começar no dia 17 de setembro, os smartphones chegariam então às lojas no dia 24.

Depois do novo iPhone, o IT Home afirma que será lançada também uma terceira geração de AirPods no dia 30 de setembro.