Jump to content

carloselsb

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About carloselsb

  • Birthday 04/29/1981

Informações Pessoais

  • Sexo
    Masculino
  • Localização
    Juiz de Fora, MG
  • Interesses
    Code Knowledge
  1. Estou com um projeto em que após o login, carrego todos os dados primordiais do usuário em um localStorage. Uma vez logado, esse objeto JSON armazenado como string criptografada pode ser acessado offline, inclusive. Porque trata-se de um projeto web embarcado em um webview Java Android. Pois bem. Estou com um cliente que excedeu esse limite por ter mais de 30K linhas de informação especifica que é transformada em string e posteriormente criptografada. Lógico que isso excedeu o limite do localStorage. localStorage.setItem('corexmr', GARRA.Const.Criptografia.set(JSON.stringify(GARRA))); Minha primeira dúvida foi saber se o limite era empregado a unidade do localStorage usado ou se esse limite é do uso do LS no projeto. Tirei essa duvida porque criei uma função de empilhamento de LS, monitorando o limite distribuido em cada. Então, se seu fizesse um armazenamento, eu poderia realizar um stringfy, criptografar, mensurar o tamanho e dividir pelo limite em storages como 'core', 'core1', 'core2', ... GARRA: { Methods: { localStorage: { limitcharacter: 5000000, set: function(nome, obj) { var objString = GARRA.Const.Criptografia.set(JSON.stringify(obj)); if (GARRA.Methods.localStorage.limitcharacter > objString.length) { localStorage.setItem(nome, objString); } else { var calc = (objString.length / GARRA.Methods.localStorage.limitcharacter), i = 0, start = 0; while (i <= calc) { localStorage.setItem((i === 0) ? nome : nome + i.toString(), objString.substr(start, GARRA.Methods.localStorage.limitcharacter)); start = (start + GARRA.Methods.localStorage.limitcharacter); i++; } } }, load: function(nome) { var end = false, i = 0, content = ''; while (!end) { if (localStorage.getItem((i === 0) ? nome : nome + i.toString()) == null) { end = true; } else { content += localStorage.getItem((i === 0) ? nome : nome + i.toString()); } i++; } return JSON.parse(GARRA.Const.Criptografia.load(content)); } } } } Mas mesmo assim cheguei ao limite. Pergunta: - Existe uma solução alternativa, para quem quer continuar a armazenar localmente no cliente sob regime de persistência?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.