会话存储无法正常工作

时间:2013-07-08 13:51:35

标签: javascript html5

我在javascript中尝试过会话存储功能。我将动态数据存储在old.html文件中。试图在new.html网页中检索它。 getItem在new.html页面中返回“null”。

我的old.html文件有;

<script>
var name=document.createTextNode("All the Best");
sessionStorage.setItem("data",name);</script>

new.html文件有;

<script>
var newdata=sessionStorage.getItem('data');
alert(newdata); </script>

2 个答案:

答案 0 :(得分:4)

会话存储存储字符串,而不是DOM节点。直接存储字符串:

<script>
sessionStorage.setItem("data", "All the Best");
</script>

<script>
var newdata=sessionStorage.getItem('data');
alert(newdata);
</script>

答案 1 :(得分:0)

正如Dark Falcon所说,网络(或会话)存储只能存储字符串值。 您可以尝试存储要保存的dom元素的字符串表示形式(可能使用innerHTML)。

var data = document.getElementById("test").innerHTML;
sessionStorage.setItem("data", data);

以后再在另一个文件中检索它:

var newdata=sessionStorage.getItem('data');
document.getElementById("anotherfileID").innerHTML = newdata;

虽然,我不认为将一个DOM元素从一个HTML文件传递到另一个HTML文件是最好的事情。你想做什么?