2010-10-01 88 views
1

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

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

谢谢

回答

1

它会在每次请求时丢失。

如果它非常小,您可能可以将它放入cookie中,并在每次重新加载时重新读取它(并将它揭开)。

使用HTML5,您应该可以使用web/local storage来保存它。

+0

+1为斯特拉igt答案:每次请求都会丢失。 – gekrish 2011-03-07 17:05:47

3

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

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

  2. 可序列化你的对象出一个字符串(也许是JSON字符串),并将它们存储在cookie中,其中刷新页面将有机会获得和可以反序列化回一个对象图。

  3. 在现代浏览器上,您可能有权访问web storage网络存储(Google Gears是一种实现方式),它由SQLite数据库(或任何实现网络存储API的数据库很多SQLite数据库  —这是阻碍网络存储API的事情之一,实际上缺少第二种实现)。这也涉及序列化/反序列化。

+0

谢谢。你的答案很有用。你能解释更多的想法1 - 使用iframes /它的对象来存储自定义对象吗? – gekrish 2010-10-01 09:14:07

+0

@ gurugriyan.e:如果您使用iframe,则必须采用其他方式:内容需要显示在刷新的iframe中,而周围的页面未刷新 - 所以任何JavaScript您保存在周围页面中的变量将被保留。坦率地说,用帧做这件事会变得很尴尬,我会反过来看看序列化。 – 2010-10-01 09:47:38

相关问题