HTML5会话存储和XMLDocument
HTML5 sessionStorage and XMLDocument
我想在sessionStorage
中存储一个XML文档。当我这样做时,它似乎将ok保存为XMLDocument
。当我尝试访问它时(在页面刷新时),对象返回为[object Object]
,而不是[object XMLDocument]
。
如何将sessionStorage
中的数据作为XMLDocument
(或将其转换为一个?)
您可能需要在将XMLDocument保存到存储中之前对其进行序列化:
var xml = new XMLSerializer().serializeToString(originalDom);
sessionStorage.setItem("myDocument", xml);
然后在从存储器加载数据后取消序列化:
var xml = sessionStorage.getItem("myDocument");
var restoredDom = new DOMParser().parseFromString(xml, "text/xml");
localStorage
和sessionStorage
只能容纳字符串。看看接口定义:
interface Storage {
readonly attribute unsigned long length;
[IndexGetter] DOMString key(in unsigned long index);
[NameGetter] DOMString getItem(in DOMString key);
[NameSetter] void setItem(in DOMString key, in DOMString data);
[NameDeleter] void removeItem(in DOMString key);
void clear();
};
除非序列化对象,否则无法存储对象。因此,在您的情况下,您必须将其序列化为XML。
如果您以文本形式收到XML文档,只需直接存储即可。检索后可以使用jQuery.parseXML()
对其进行解析。
相关文章:
- 将作用域存储在JSON中
- 使用javascript存储变量的最安全方式
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- 如何有效地将游戏数据存储在URL查询字符串中
- Ember.js-接口状态应该存储在哪里
- 如何解雇“;铁局部存储负载”;事件
- 本地存储中的字符串到字节数组转换
- 从jQuery调用存储在Variable中的函数
- 推荐在JavaScript中执行存储为字符串的函数,而不是使用eval
- 通过另一个php应用程序将我的项目推送到Github存储库中
- 将数据存储在javascript数组中以供进一步使用
- 在页面卸载时写入HTML5 FileSystem API存储
- 加载存储在IndexedDB中的HTML页面
- 在字符串中查找所有图像 src URL 并存储在数组中
- 如何从C#代码背后调用本地存储的javascript函数
- 在ListView中添加JSON数组中存储的图像-ReactNative
- 将数据存储到元素中
- 使用ajax下载与存储名称不同名称的文件
- HTML5会话存储和XMLDocument