3

我已经尝试在 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>
4

2 回答 2

5

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

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

<script>
var newdata=sessionStorage.getItem('data');
alert(newdata);
</script>
于 2013-07-08T13:54:23.147 回答
1

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

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

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

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

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

于 2013-07-08T14:31:44.720 回答