Как сохранить пользовательский объект JavaScript в HTML DOM? - PullRequest
1 голос
/ 01 октября 2010

Если я создаю пользовательский объект JavaScript с использованием конструктора, возможно ли сохранить объект между запросами HTTP? - как хранить его в DOM и использовать его условно?

Сохранятся ли объекты DOM (все объекты на стороне клиента) между запросами HTTP ..? или он будет потерян после каждой отправки формы ..?

Спасибо

Ответы [ 3 ]

3 голосов
/ 01 октября 2010

Если вы обновляете страницу, то объекты на этой странице будут освобождены, и новая страница не будет иметь к ним доступ.Однако у вас есть несколько вариантов.

  1. Вы можете использовать кадры и обновлять только «основной» кадр.Объекты, хранящиеся в коде JavaScript и / или объекте window другого фрейма (ов), не будут изменены.Это могут быть традиционные фреймы или фреймы.

  2. Вы можете сериализовать свои объекты в строку (возможно, строку JSON ) и сохранить их в файлах cookie, которые обновляютсястраница будет иметь доступ и может десериализоваться обратно в граф объектов.

  3. В современных браузерах у вас может быть доступ к веб-хранилищу в форме веб-хранилища (GoogleGears является одной из реализаций), которая поддерживается базой данных SQLite (или любой базой данных, реализующей API веб-хранилища, которая на данный момент является в значительной степени базой данных SQLite - это одна из вещей, поддерживающих API веб-хранилища, фактическиотсутствие второй реализации).Это также включает сериализацию / десериализацию.

1 голос
/ 01 октября 2010
  1. вы можете сохранить объект в cookie, используя JSON для его сериализации

  2. вы можете использовать экспериментальное постоянное хранилище HTML5: http://dev.w3.org/html5/webstorage/

  3. вы можете попросить людей установить плагин, такой как Google Gears, который обеспечивает постоянное хранение

1 голос
/ 01 октября 2010

Будет потеряно при каждом запросе.

Если оно очень маленькое, вы можете поместить его в файл cookie и перечитывать его (и записывать) при каждой перезагрузке.

С HTML5 вы сможете сохранить его, используя веб / локальное хранилище .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...