Lecture et écriture de localStorage?

Je viens de commencer à étudier Phonegap + jQuery Mobile et HTML5, alors ne perds-tu pas ton espoir avec mon idiot!

Quelqu'un pourrait-il me dire pourquoi ça ne fonctionne pas? Lorsque j'utilise une variable de localStorage, je viens d'avoir un écran vide lorsque vous appuyez sur le bouton, mais lorsque vous utilisez une température variable = "100", cela fonctionne bien. 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> 

Une autre question: comment gérer les variables entre les pages dans Windows Phone? Ils ne supportent pas le stockage local, alors est-ce qu'il y a une autre façon de gérer cela si vous n'avez pas de connexion db?

Merci!

Sami

temperature est locale dans la portée de la fonction onDeviceReady . C'est-à-dire, une fois la fonction terminée, elle est parti.

Vous avez deux options:

 // Make it global var temperature; document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { window.localStorage.setItem("temperature", "100"); temperature = window.localStorage.getItem("temperature"); } 

ou:

 // Retrieve it in myFunction function myFunction() { var temperature = localStorage.getItem("temperature"); document.getElementById("testi").innerHTML = temperature; } 

Pour une bonne liste d'exemples de portée de la fonction, essayez cette réponse .