Jquery Localstorage将阵列增加到20

Jquery Localstorage将阵列增加到20,jquery,Jquery,我的设置 我有一个主页、关于和联系页面。页面上没有任何东西,但每3页中的每一个都有3个链接,每个页面中间有一个按钮。 我的目标 点击按钮所在会话的URL被推入一个最多可容纳20个链接的数组中。它可以多次出现在同一页上, 但本质上,这个按钮可以点击20次(稍后我将找出如何捕捉是否在同一个会话中完成) 我的问题 我无法将当前会话中的URL和当前URL将要传递到的建筑阵列传递到同一建筑阵列中。以下是我目前正在处理的问题: var seshStore = [], localStore =

我的设置 我有一个主页、关于和联系页面。页面上没有任何东西,但每3页中的每一个都有3个链接,每个页面中间有一个按钮。

我的目标 点击按钮所在会话的URL被推入一个最多可容纳20个链接的数组中。它可以多次出现在同一页上, 但本质上,这个按钮可以点击20次(稍后我将找出如何捕捉是否在同一个会话中完成)

我的问题

我无法将当前会话中的URL和当前URL将要传递到的建筑阵列传递到同一建筑阵列中。以下是我目前正在处理的问题:

var seshStore = [],
        localStore = [],
        currentUrl = window.location.href,
        newLink = $('<a class="new-link" href="' + currentUrl + '">new link</a>');


$(document).ready(function(){

        // push into local store from last sesh
        var storedLinks = JSON.parse(localStorage.getItem("localStore"));
        var restoredLocalStore = JSON.parse(localStorage.getItem("restoredLocalStore"));
        localStore.push(storedLinks);
        localStore.push(restoredLocalStore);

        for (var i = 0; i <= 20; i++) {
            console.log(localStore[i]);
        }
        localStorage.setItem("restoredLocalStore", JSON.stringify(localStore));



        $('.link-button').click(function(){
            $(newLink).appendTo('body');
            var reInitLink = currentUrl;

            // push current url to sesh for its storage and a temp storage for local until next sesh
            // seshStore.push(reInitLink);
            // localStore.push(reInitLink);

            localStorage.setItem("localStore", JSON.stringify(window.location.href));

            // console.log(seshStore);
        });
        // localStorage.clear();
});
var seshStore=[],
localStore=[],
currentUrl=window.location.href,
新链接=$('');
$(文档).ready(函数(){
//从上一个sesh推入本地商店
var storedLinks=JSON.parse(localStorage.getItem(“localStore”);
var restoredLocalStore=JSON.parse(localStorage.getItem(“restoredLocalStore”));
localStore.push(storedLinks);
push(restoredLocalStore);

对于(var i=0;i我认为您没有对localStore“localStore”进行初始化

当前,您将变量localStore设置为数组

尝试将其设置为:

localStorage.localStore = "";
本地存储仅支持字符串

使用JSON.stringify()[如您所用]和JSON.parse()[获取值]

// Setting values
var example = ["link1", "link2", "link3"];
localStorage.setItem("names", JSON.stringify(names));

// Getting values
var localStore = JSON.parse(localStorage.getItem("localStore"));

请随意修改您的代码。

它返回了“未捕获的语法错误:意外令牌”。在放入localstorage之前,我是否应该将其保留为数组而不是加入?尝试将localstorage.localStore=“”;的初始化设置为开始向其传递值的页面以外的其他页面。因此它不会设置为“null”在每个页面加载时。或者添加if语句,检查localStorage.getItem(“localStore”)!=“”是否正确,然后不要将设置设置为“”。