我想存儲一個XML文檔sessionStorage
。當我這樣做時,它似乎可以保存爲XMLDocument
。當我嘗試訪問它時(刷新頁面),該對象將以[object Object]
而不是[object XMLDocument]
返回。HTML5 sessionStorage和XMLDocument
如何擺脫sessionStorage
爲XMLDocument
數據(或者將其轉換爲一個?)
我想存儲一個XML文檔sessionStorage
。當我這樣做時,它似乎可以保存爲XMLDocument
。當我嘗試訪問它時(刷新頁面),該對象將以[object Object]
而不是[object XMLDocument]
返回。HTML5 sessionStorage和XMLDocument
如何擺脫sessionStorage
爲XMLDocument
數據(或者將其轉換爲一個?)
localStorage
和sessionStorage
只能容納字符串。看看interface definition:
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();
};
除非您序列化它們,否則不能存儲對象。所以在你的情況下,你必須serialize it to XML。
如果您將XML文檔作爲文本接收,則直接存儲它。您可以使用jQuery.parseXML()
在檢索後解析它。
您可能希望將其保存在存儲之前序列化的XMLDocument:
var xml = new XMLSerializer().serializeToString(originalDom);
sessionStorage.setItem("myDocument", xml);
,然後反序列化之後,從存儲加載數據:
var xml = sessionStorage.getItem("myDocument");
var restoredDom = new DOMParser().parseFromString(xml, "text/xml");
你嘗試新的XmlDocument(對象)? – unludo 2012-02-15 13:00:22
@FelixKling如何從(jQuery)xml轉換爲字符串,然後再返回? – Chris 2012-02-15 13:03:04