2010-10-01 91 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

相關問題