如何在HTML DOM中存储自定义javascript对象?

时间:2010-10-01 08:37:20

标签: javascript html dom cross-browser browser

如果我使用构造函数创建自定义javascript对象,是否可以在HTTP请求之间保留对象? - 比如将它存储在DOM中并有条件地使用它?

DOM对象是否会在HTTP请求之间持续存在(所有客户端对象)?或者在每张表格提交后都会丢失..?

由于

3 个答案:

答案 0 :(得分:3)

如果您正在刷新页面,那么该页面上的对象将被释放,新页面将无法访问它们。你确实有一些选择。

  1. 您可以使用框架并仅刷新“主”框架。存储在JavaScript代码和/或其他帧的window对象中的对象将保持不变。这些可能是传统的框架或iframe。

  2. 您可以将对象序列化为字符串(可能是JSON字符串)并将它们存储在cookie中,刷新后的页面可以访问这些cookie并将其反序列化为对象图。

  3. 在现代浏览器上,您可以以网络存储的形式访问web storage(Google Gears是一种实现),它由SQLite数据库(或实现网络存储API的任何数据库)支持,目前几乎是一个SQLite数据库 - 这是阻碍Web存储API的事情之一,事实上,缺少第二个实现。这还涉及序列化/反序列化。

答案 1 :(得分:1)

每次请求都会丢失。

如果它非常小,你可能可以将它放入一个cookie中,并在每次重新加载时重新读取它(并将其放大)。

使用HTML5,您应该能够使用web/local storage保留它。

答案 2 :(得分:1)

  1. 您可以使用JSON将对象存储在cookie中以将其序列化

  2. 您可以使用实验性HTML5持久存储:http://dev.w3.org/html5/webstorage/

  3. 您可以要求人们安装Google Gears等支持持久存储的插件