Javascript 跨多个页面将项目添加到本地存储
有两个文件。第一:Javascript 跨多个页面将项目添加到本地存储,javascript,local-storage,Javascript,Local Storage,有两个文件。第一: <div class="someclass">text1</div> <div class="someclass">text2</div> <script> var foo = document.getElementsByClassName("someclass"); var arr = Array.prototype.map.call(foo, function(elem) { return el
<div class="someclass">text1</div>
<div class="someclass">text2</div>
<script>
var foo = document.getElementsByClassName("someclass");
var arr = Array.prototype.map.call(foo, function(elem) {
return elem.innerHTML;
});
localStorage.foobar = JSON.stringify(arr);
alert(localStorage.foobar);
</script>
这就给出了:[“text3”、“text4”]
我希望第二个文件给出[“text1”、“text2”、“text3”、“text4”]
,或者[“text3”、“text4”、“text1”、“text2”]
我如何才能做到这一点呢?因此,您需要查看是否存在任何内容,并将其连接到数组中
if (localStorage.foobar) {
var prev = JSON.parse(localStorage.foobar);
arr = arr.concat(prev);
}
localStorage.foobar = JSON.stringify(arr);
因此,您需要查看是否存在任何内容,并将其连接到数组
if (localStorage.foobar) {
var prev = JSON.parse(localStorage.foobar);
arr = arr.concat(prev);
}
localStorage.foobar = JSON.stringify(arr);
您需要检索以前存储的数据(如果有),并附加到该数组中。比如:
var foostr=localStorage.foobar | |“[]”;
arr=JSON.parse(foostr);
var foo=document.getElementsByClassName(“someclass”);
Array.prototype.forEach.call(foo,function(elem){
arr.push(elem.innerHTML);
});
localStorage.foobar=JSON.stringify(arr);
警报(localStorage.foobar)代码>您需要检索以前存储的数据(如果有),并附加到该数组中。比如:
var foostr=localStorage.foobar | |“[]”;
arr=JSON.parse(foostr);
var foo=document.getElementsByClassName(“someclass”);
Array.prototype.forEach.call(foo,function(elem){
arr.push(elem.innerHTML);
});
localStorage.foobar=JSON.stringify(arr);
警报(localStorage.foobar)代码>您可以在首先检索localStorage的内容之后,使用JSON.parse()
对两个数组进行连接:
在首先检索localStorage的内容之后,可以使用JSON.parse()
,对两个数组进行连接:
每个页面都应该读取localStorage.foobar,如果还没有添加文本,则添加文本。这两页是同时运行的?谢谢您的更正。第二个页面将在第一个页面之后加载。每个页面都应该读取localStorage.foobar,如果尚未加载,则添加她的文本。这两页是同时运行的?谢谢您的更正。第二个页面将在第一个页面之后加载。是的,这很有效,所以我向上投票,谢谢,尽管concat
方法对我来说更容易理解(我只是javascript新手)。是的,这很有效,所以我向上投票,谢谢,尽管concat
方法对我来说更容易理解(我只是javascript新手)。
var foo = document.getElementsByClassName("someclass");
var arr = Array.prototype.map.call(foo, function(elem) {
return elem.innerHTML;
});
localStorage.foobar = JSON.stringify(JSON.parse(localStorage.foobar).concat(arr));
console.log(localStorage.foobar);