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

Não quer perturbação? Veja como ficar 'invisível' no WhatsApp e Instagram

Getty Images
Imagem: Getty Images

Bruna Souza Cruz

De Tilt, em São Paulo

12/09/2021 17h21

Sabe aquela hora que você quer sossego na sua vida online? Não quer ser incomodado(a) e quer apenas navegar na internet de um jeito mais discreto? Existe algumas configurações no WhatsApp e no Instagram que podem ajudar a atender seu desejo.

Várias redes sociais e app de conversas permitem que seus usuários alterem configurações de privacidade para que a atividade online não fique escancarada por aí. É praticamente usar as plataformas de um jeito mais invisível. Veja a seguir o que dá para ser feito e como mudar as configurações dos programas.

Como fazer no WhatsApp

O WhatsApp não permite que o usuário fique totalmente invisível no aplicativo. Mas algumas opções ajudam a deixar menos rastros e diminuir a possibilidade de você ser incomodado. Todas elas são encontradas na opção "Privacidade". Para chegar até ela, abra as configurações do WhatsApp e vá direto no item "Conta".

Ali, é possível configurar coisas como:

  • "Visto por último", que mostra a última vez que você olhou no WhatsApp. Uma vez desligado, os outros não vão saber qual foi a última vez que você entrou no aplicativo.
  • A visibilidade de sua foto de perfil. Se você selecionar "ninguém", poderá usar tranquilamente o aplicativo sem que os outros vejam sua imagem.
  • Definir quem pode seu Status. Neste caso, você pode selecionar apenas quem está na sua lista de contatos. Assim, pessoas que possuem o seu número, mas que você não conhece, não poderão visualizar o que você publica nessa parte do WhatsApp.
  • Desligar a confirmações de leitura, os famosos tiques azuis. Com a função desligada, as pessoas que enviam mensagens para você não irão saber quando você visualizou os conteúdos recebidos.

Lembre-se que se você desativar o "Visto por último" e as confirmações de leitura, você também deixa de receber esse tipo de confirmação. E não dá para impedir o contato de ver quando você está online no app.

Como fazer no Instagram

Parecido com o WhatsApp, o Instagram também permite mudar configurações de privacidade, o que irá deixar o seu uso bem mais discreto quando você desejar.

A primeira atitude que você pode tomar neste sentido é permitir que suas fotos sejam visualizadas apenas pelos seus seguidores e também escolher quem pode seguir você ou não. e o seu perfil e, em seguida, vá em "Configurações".

Dentro de "Privacidade", verifique se o item "Conta privada" está ligado ou desligado. Se você deseja ter mais privacidade, é importante que ele esteja ativado.

A parte de Stories também permite que você altere algumas definições de maneira a evitar ser incomodado por estranhos. Ainda dentro dos itens "Configurações" > "Privacidade", procure a opção "Story".

Lá, você consegue definir se quem poderá responder às suas publicações serão apenas seus seguidores, ocultar suas publicações no Stories de determinadas pessoas, permitir que seguidores compartilhem fotos e vídeos que você publicou no Stories e, por fim, compartilhar ou não seus Stories no Facebook.

Existe ainda um item chamado "Status da Atividade". Com ele desabilitado, as contas que você segue e todas as pessoas para quem envia mensagens não conseguirão ver se você está online ou não no Instagram.

*Com texto de Rodrigo Lara