2010-10-01 7 views
1

Si je crée un objet javascript personnalisé à l'aide d'un constructeur, est-il possible de conserver l'objet entre les requêtes HTTP? - comme le stocker dans le DOM et l'utiliser conditionnellement? Les objets DOM persisteront (tous les objets côté client) entre les requêtes HTTP.? ou va-t-il se perdre après chaque formulaire de soumission ..?Comment stocker un objet javascript personnalisé dans HTML DOM?

Merci

Répondre

1

Il sera perdu à chaque demande.

Si elle est très petite, vous pourriez la mettre dans un cookie et la relire (et l'éveiller) à chaque rechargement.

Avec HTML5, vous devriez pouvoir le conserver en utilisant web/local storage.

+0

+1 pour le Stra igt réponse: Il sera perdu à chaque demande. – gekrish

3

Si vous actualisez la page, les objets de cette page seront libérés et la nouvelle page n'y aura pas accès. Vous avez cependant quelques options.

  1. Vous pouvez utiliser des cadres et actualiser uniquement le cadre "principal". Les objets stockés dans le code JavaScript et/ou l'objet window de l'autre ou des autres images seront inchangés. Ceux-ci pourraient être des cadres traditionnels ou des iframes.

  2. Vous pouvez sérialiser vos objets en une chaîne (peut-être une chaîne JSON) et les stocker dans des cookies, auxquels la page actualisée aura accès et que vous pourrez désérialiser en un graphique d'objet. Sur les navigateurs modernes, vous pouvez accéder à web storage sous la forme de stockage Web (Google Gears est une implémentation) qui est soutenue par une base de données SQLite (ou toute base de données implémentant l'API de stockage Web, qui est pour le moment assez beaucoup une base de données SQLite   — c'est l'une des choses qui retardent l'API de stockage web, en fait, l'absence d'une seconde implémentation). Cela implique également la sérialisation/désérialisation.

+0

Merci. Votre réponse a été utile. Pouvez-vous s'il vous plaît expliquer plus sur l'idée 1 - en utilisant iframes/ses objets pour stocker des objets personnalisés? – gekrish

+0

@ gurugriyan.e: Si vous utilisez des iframes, il faudrait que ce soit l'inverse: le contenu devrait apparaître dans l'iframe, qui a été rafraîchi, alors que la page environnante n'a pas été rafraîchie - et donc tout JavaScript les variables que vous stockez dans la page environnante seront conservées. Franchement, faire cela avec des cadres deviendra vite maladroit, je regarderais plutôt la sérialisation. –

1
  1. vous pouvez stocker objet cookie par JSON pour sérialiser

  2. vous pouvez utiliser le stockage persistant HTML5 expérimental: http://dev.w3.org/html5/webstorage/

  3. vous pouvez demander aux gens d'installer le plugin comme Google Gears qui permet un stockage persistant

Questions connexes