2013-03-01 31 views
5

Ben Yerel Depolama yönde bir kaydırma yaratmak için sayfalar arasında değerler geçirmek için kullanıyorum (Kullanıcı bağlantıyı tıkladıktan ve kimliğine dayalı olarak sayfanın belirli bir bölümüne kaydırılır)PhoneGap - Yerel depolama çalışmıyor - Android

Önceden çerez kullanıyordum, ancak Android'de işe yaramadı. Yerel depolamanın desteklendiğini okudum. Tarayıcıda olduğunda tamamen iyi çalışır, ancak yerel bir uygulama olarak paketlendiği anda tüm işlevlerini kaybederim? API, desteklenmesi gerektiğini, herhangi bir fikir olduğunu belirtir? ,

$(function() { 

var value = window.localStorage.getItem("key"); 

if (value != "" && value != "undefined" && value != null) { 
    var storage = window.localStorage; 
    storage.setItem("key",value); 
    var scroll_type = ""; 

    if ($.browser.webkit) { 
     scroll_type = "body"; 
    } else { 
     scroll_type = "html"; 
    } 

    $(scroll_type) 
     .stop() 
     .animate({ 
     //get top-position of target-element and set it as scroll target 
     scrollTop: ($("#" + value).offset().top - 25) 
     //scrolldelay: 1.5 seconds 
    }, { 
     duration: 1500, 
     complete: function() { 
      storage.removeItem("key"); 
     }, 
    }); 
    } 
}); 

kod doğal tarayıcıda değil sadece iyi çalışır herhangi bir fikir:

Temel URL:

var storage = window.localStorage; 
$("a.scroll_link").click(function(event) { 
    event.preventDefault(); 
    var value = $(this).attr("id"); 

     storage.setItem("key",value); 

    console.log(value); 

    window.location=$(this).attr("href"); 
}); 

Alma URL

İşte benim kod?

sayesinde

cevap

2

Kullanım document.addEventListener ("deviceready", onDeviceReady, yanlış) yerine $ (function() {...}

http://docs.phonegap.com/en/2.5.0/cordova_events_events.md.html#deviceready

+0

Şuanda çalıştım, uygulamayı cihazımdan sildim ve daha sonra kodu yeniden çalıştırıyorum ve şimdi tüm işlerim var, ancak iScroll ile birlikte localStorage kullanmakta sorun yaşıyorum. diğeri ve ikisi de değil .. herhangi bir fikir kimse? – woolm110

1

1.Glad seni tanımak gmh04 dediği gibi, init olayını uygulama başladığında tetiklenen 'deviceready' ile değiştirmelisiniz.

window.localStorage.getItem ("key") demek URL alınıyor? Tanımladığınız gibi bir sorunla tam olarak karşılaşmam. Ancak, URL’nizi aldığınız kodu ana URL’nin aynı sayfasına taşımaya çalışabilirsiniz. Zaman için denedim ve localStorage'ın aynı sayfada çalışacağından emin olun.

+0

GetItem, geçirilmekte olan değerle birlikte iyi çalışıyor gibi görünüyor, görünmüyor ne yapmak, canlandırma ve kaydırmadır. – woolm110

1

Ben Android'de işe yaramaz localStorage yapmak cordova.js arasında 2.6.0 sürümüne bir hata var olduğunu eklemek istiyorum: o mükemmel çalışıyor

https://issues.apache.org/jira/browse/CB-3063

2.5.0 sürümünde ve zaten 2.7.0 rc'de düzeltildi.

İlgili konular