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 ForumsYou need to be logged in to post in the forums. If you do not have an account, please sign up first.
HTML5 manifest zerando dados privados
versao opera: 11.10.ADR mobile android sansung froyo 2.2fazendo 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
. 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
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.
Não é estranho? Eu testei no chrome desktop e isso não acontece.
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.
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.