Właśnie zacząłem studiować Phonegap + jQuery Mobile i HTML5, więc nie trać nerwu z moim idiotyzmem!Czytanie i pisanie z localStorage?
Czy ktoś może mi powiedzieć, dlaczego to nie działa? Kiedy używam zmiennej z localStorage, po naciśnięciu przycisku pojawia się pusty ekran, ale gdy używana jest zmienna temperatura = "100", działa poprawnie. Android 4.1.
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
window.localStorage.setItem("temperature", "100");
var temperature = window.localStorage.getItem("temperature");
}
</script>
<div data-role="content">
<p>Working or not?</p>
<button onclick="myFunction()">Try it</button>
<p id="testi"></p>
<script type="text/javascript">
function myFunction() {
//var temperature = "100";----> This is working!
document.getElementById("testi").innerHTML = temperature;
}
</script>
</div>
Kolejne pytanie: Jak radzić sobie ze zmiennymi między stronami w Windows Phone? Nie obsługują one localStorage, więc czy istnieje inny sposób na obsłużenie tego, jeśli nie masz połączenia db?
Dzięki!
Sami
Nie mam doświadczenia z phonegagiem lub androidem, ale jestem prawie pewien, że jest to problem z zasięgiem/zamknięciem. Definiujesz 'var temperature' wewnątrz funkcji' onDeviceReady', jest ona zdefiniowana tylko wewnątrz tego zakresu. Nie można go używać wewnątrz 'myFunction', ponieważ ta zmienna ma zupełnie inny zakres. Podałbym to jako odpowiedź, ale dlaczego nikt nie odpowiedział na to w ciągu 35 minut? –
U może po prostu przesłać to jako odpowiedź! Czy istnieje sposób na tworzenie zmiennych "globalnych" w JavaScript, tak myślę. Muszę to rozgryźć. Wielkie dzięki! – Sami
Tak, Bryan właśnie zrobił przykład. Dodam trochę do jego odpowiedzi i jako że jestem trochę zmęczony, aby udzielić "kompletnej" odpowiedzi. ':)' –