The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features

See the new Forums

HTML5 manifest zerando dados privados

Forums » Portuguese Forums » Opera

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

6. October 2011, 11:38:33

rwolosker

Posts: 9

HTML5 manifest zerando dados privados

versao opera: 11.10.ADR mobile android sansung froyo 2.2
fazendo o que: desenvolvimento de aplicação offline com sincronização de dados.
o que acontece: quando o arquivo manifest é atualizado no servidor, as paginas em cache são atualizadas
o que nao é esperado: dados privados armazenados com localStorage são apagados
por que parece um problema: porque não acontece com o chrome desktop.

Olá, estou desenvolvendo uma aplicação para rodar offline no celular, escolhi o opera porque me pareceu de grande alcance entre os dispositivos móveis. Estou utilizando o atributo manifest do HTML 5 para fazer cache das páginas permitindo que sejam executadas sem conexão com o servidor. O cache funciona, as páginas são acessadas quando sem conexao. Mas acontece uma coisa muito estranha. É que quando o arquivo manifest é atualizado porque aconteceu alguma mudança nos arquivos da página, o Opera procede com a atualização do cache, mas ele também apaga os dados privados que foram armazenados com localStorage yikes . Este funcionamento está correto? Ao mesmo tempo eu testo no navegador chrome e esta caracteristica não é reproduzida.

trecho do arquivo manifest

#data  : 03/10/2011
#versao: 0.0.16

CACHE:

cargaConfigura.html
carga.html
carga.js
cargaSituacao.js
despesaEdit.js
despesa.html
despesa.js
despesaLancamento.html
dominio.js
itemEdit.html
item.html
teste.html
aplicacao.html



como eu guardo os dados no local storage

/********************************************************************
STORAGE
********************************************************************/  
dom.storage={
  /*-------------------------------------------------------
  SAVE
  -------------------------------------------------------*/
  save:function(key,scope,object){
    var src=JSON.stringify(object);
    var dat=scope=="persist"?window.localStorage:window.sessionStorage;
    
    dat.setItem(key,src);
  },
  /*-------------------------------------------------------
  LOAD
  -------------------------------------------------------*/
  load:function(key,scope){
    var dat=scope=="persist"?window.localStorage:window.sessionStorage;
    var object=dat.getItem(key);
    
    return object?JSON.parse(object):null;
  }
};


Ricardo Wolosker
rwolosker@gmail.com



6. October 2011, 17:37:00

lamarca

there is no place like 127.0.0.1

Posts: 61301

talvez seja by design.

the truth about opera is here
la médecine est comme l'amour: ni jamais et ni toujours.


6. October 2011, 17:48:49

rwolosker

Posts: 9

como assim por design?

6. October 2011, 18:17:30

lamarca

there is no place like 127.0.0.1

Posts: 61301

quais dados 'dados privados' ?
the truth about opera is here
la médecine est comme l'amour: ni jamais et ni toujours.


6. October 2011, 23:39:16

rwolosker

Posts: 9

Sim, os dados que são armazenados com localStorage API. É um algo impressionante. A aplicação baixa dos dados via Ajax. O conteúdo é armazenado no localStorage utilizando Json e stringfy. A aplicação funciona normalmente em modo offline. Mas se quando ela volta para online, se o arquivo manifest for alterado, após todas as páginas baixadas, os dados privados são apagados. Como se fosse "embora" junto com o cache antigo.

Não é estranho? Eu testei no chrome desktop e isso não acontece.

7. October 2011, 00:22:50

lamarca

there is no place like 127.0.0.1

Posts: 61301

grato pela explicação.
quais dados 'dados privados' são apagados: : cookies, passwd[/i], cartão de crédito ..etc ?
the truth about opera is here
la médecine est comme l'amour: ni jamais et ni toujours.


7. October 2011, 00:37:48

rwolosker

Posts: 9

a aplicacao nao utiliza cookies, de modo que não tenho como responder. Se isso ajudar eu faço um teste para ver se apaga. (como que grava um cookie, sabe que nem sei mais!! )

mas olha, zera tudo que eu gravo com localStorage, já verifiquei se nao estou gravado como session, mas isso está OK.

Não é possível que rode assim, só pode tá misturando dados de pagina com dados de usuário.












7. October 2011, 01:01:58

rwolosker

Posts: 9

Lamarca,

fiz um teste com cookie, e quando o arquivo manifest é atualizado, o cookie não se perde.

7. October 2011, 09:49:03

lamarca

there is no place like 127.0.0.1

Posts: 61301

excelente.
bom, não consegui perceber o que são 'dados privados' na sua plataforma.
se ainda não leu, talvez seja útil esse artigo
the truth about opera is here
la médecine est comme l'amour: ni jamais et ni toujours.


7. October 2011, 12:20:57

rwolosker

Posts: 9

sim sim, ja tinha lido, o outro que fala somente sobre manifest também.

7. October 2011, 16:18:56

LeoCG

Posts: 10103

Tenta fazer um teste usando o último snapshot, que saiu hoje.

Veja em my.opera.com/desktopteam

Lastest Opera Developer Build @ Windows 8.1 Pro X64
Intel I5-4430 - 8GB Ram
Intel HD Graphics 4600

Forums » Portuguese Forums » Opera