3

JavaScriptでセッションストレージ機能を試しました。動的データを old.html ファイルに保存し、new.html Web ページで取得しようとしました。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 が言ったように、Web (またはセッション) ストレージは文字列値のみを格納できます。保存したいdom要素の文字列表現を(おそらくinnerHTMLで)保存しようとすることができます。

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

後で他のファイルで取得します。

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

ただし、1 つの DOM 要素を 1 つの HTML ファイルから別のファイルに渡すことが最善の方法だとは思いません。あなたは何をしようとしているのですか ?

于 2013-07-08T14:31:44.720 に答える