2011-11-09 22 views
12

Site, Gingerbread OS ile Samsung Galaxy Tab'da kullanılır. Şimdiye kadar kullanılan tarayıcılar stok tarayıcısı ve Dolphin HD'dir. Kullanıcıların ağ kapsama alanına girip çıktıklarında yerel depolamadaki öğeler rastgele görünmektedir. Depolama ayrıca tarayıcı çökmelerine veya cihaz yeniden başlatılmasından tamamen kurtulamıyor gibi görünüyor. Tuhaf bölüm depolama genellikle tamamen temizlenmez, sadece çok sayıda öğe kaybolur. Bu problemi duyan veya herhangi bir öneri olan var mı?HTML5 Yerel Depolama Kalıcı Değil

Düzenleme: Yani yerel depolama,

localStorage["Key"] = value; 

retrived By kullanarak:

localStorage.getItem("Key"); 

her durumda, doğrudan yerel depolama birimine ekledikten sonra, site almak ve verileri kullanmak mümkün . Ancak, genellikle dolaşım veya tarayıcı/tablet çökmesinden sonra bazen veri artık orada değil. Bulduğum her şey yerel depolamanın devam etmesi gerektiğini söylüyor, bu yüzden buradan nereye gideceğimi bilmiyorum.

+2

Öneri: İlgili kodları gösterin, böylece başkaları bunu doğrulayabilir. –

+0

En son nesil mobil tarayıcılar, yerel depolama alanlarını temizlerken aynı zamanda çerezleri temizler. Olan şey bu olabilir mi? –

+1

Sadece genel bir soru. LocalStorage ["Key"] tarafından eklenen öğeler = Sitenin kullanımı boyunca var olan değerler aniden rastgele zamanlarda artık yoktur. Genellikle dolaşımdan sonra veya bir tarayıcı çökmesinden sonra. Sadece bir kez kopyalayabildim, ancak günde birkaç kullanıcı buna girer ve bu olduğunda sorun çıkarır. Bunun bilinen bir sorun olup olmadığını ve diğer HTML5 çevrimdışı depolama yöntemlerinin daha güvenilir olup olmadığını merak ediyor musunuz? – jmease

cevap

3

Bu biraz daha hata ayıklamaya ne dersin? Belki de kendi kodunuz bir şekilde üzerine yazılıyor mu? Ben PhoneGap localStorage/sessionStorage kullanıyorum ve asla onları izleyen olay işleyicisi ekleyin ... kaybolan

vardı: Her zaman (masaüstü tarayıcıda ve teselli etmeye log)

window.addEventListener("storage", function(e) { 
    console.debug(e); 
}, false); 

ateş edeceği depolama alanına erişilir. Ayrıca, adb logcat'inizde görülebilmesi için daha ayrıntılı bilgileri de kaydedebilirsiniz (erişilen anahtar gibi!)

Depolama olayları hakkında daha fazla ayrıntı için this stackoverflow question'a bakın.

+0

Teşekkürler Leon. Gönderiyi güncellemem için benim suçum. Bir etkinlik dinleyicisi eklemeye çalıştım. Kullanıcılar siteyi yalnızca mobil cihazlarda kullanıyorlar, bu yüzden yazmak için konsol yok. Ve dinleyici bu sayfadaki herhangi bir etkinlik için ateşlemediği için, yararlı olduğu kanıtlanmamıştır. Dinleyicinin siteye ateş açmasını sağlamanın bir yolunu buldum, ancak pop-up'ları içeriyordum ve kullanıcılarımı içine koymaktan daha fazlası. – jmease

+0

bazı güzel jscript günlükleri - [log4javascript] (http://log4javascript.org/index.html) gibi bir sunucuya da oturum açmanıza izin veriyor (örneğin [AjaxAppender] (http://log4javascript.org/docs) /manual.html#ajaxappender)) bunlar gibi mobil sorunları hata ayıklama konusunda yardımcı olabilir ... Umarım bu yardımcı olur – Leon

İlgili konular