我在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>
答案 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文件是最好的事情。你想做什么?