Comment enregistrer l'état d'une variable javascript utilisée dans plusieurs pages html

J'essaie de faire une application dans phonegap. J'ai créé un fichier javascript custom.js qui a certaines fonctions comme

function func1(){....} function func2(){....} 

Toutes ces fonctions seront utilisées dans deux pages html différentes. Dans la première page HTML, j'utilise une variable en func1 qui effectue une opération. Dans la deuxième page, je souhaite y accéder en func2 dans l'état où il était en mode func1. Mais je suis incapable de le faire. Je suis inclus custom.js dans les deux pages html. J'ai lu que les fichiers javascript sont réinitialisés ou actualisés lorsqu'ils sont utilisés dans plusieurs pages. Quelqu'un peut-il me donner un exemple de la façon de sauvegarder l'état de la variable dans func1, puis d'accéder à cette variable dans func2 (dans une page HTML différente) dans l'état où il était en mode func1. J'ai également lu sur l'état de la vue. Mais ça ne fonctionne pas pour moi. Aidez-nous …

Rangez les valeurs dans localstorage et faites référence à partir de là.

 function first() { localStorage.setItem('myItem', "something you want to store"); } function second() { myValue = null; if (localStorage.getItem('myItem')) { myValue = localStorage.getItem('myItem'); } } 

Dans les navigateurs modernes, vous pouvez utiliser localStorage pour cela

 var get = function (key) { return window.localStorage ? window.localStorage[key] : null; } var put = function (key, value) { if (window.localStorage) { window.localStorage[key] = value; } } 

Utilisez la valeur de stockage et de mise en valeur pour le stockage local de la plupart des navigateurs modernes.

La méthode plus simple et préférée serait d'utiliser window.localStorage pour stocker les variables du site. Pour tenir compte d'anciens navigateurs, vous pouvez peut-être envisager d'avoir des cookies comme lieu de stockage secondaire.

 // credits to http://mathiasbynens.be/notes/localstorage-pattern var hasStorage = (function() { try { localStorage.setItem(mod, mod); localStorage.removeItem(mod); return true; } catch(e) { return false; } }()); function setSiteWideValue(_key, _value) { if(hasStorage) { localStorage[_key] = _value; } else { document.cookie = _key+'='+_value+'; expires=<date-here>; path=/; ;domain=<.yourdomain>'; } } function getSiteWideValue(_key) { if(hasStorage) { return localStorage[_key]; } else { if(document.cookie.indexOf(_key+'=') != -1) { return document.cookie.split(_key+'=')[1].split(';')[0]; } } }