如何在其他页面上显示Cookie?

时间:2017-08-14 13:34:28

标签: javascript cookies

我正在学习一个学生项目的cookie和JavaScript,并试图在学校项目中使用它们。但是,当我尝试实现一个书签文章的简单函数时,我偶然发现了一个问题。

这是我在文章中放置的代码。当我按下书签图标时,会触发下面的功能,创建一个在14天后过期的cookie。

<script>
function showBookmark() {
        document.getElementById("bookmark").innerHTML = "bookmark";

        var d = new Date();
            d.setTime(d.getTime() + (14*24*60*60*1000));
            var expires = "expires="+ d.toUTCString();
            document.cookie = "cookie1" + "=" + "Article 1 - Title Of Article 1" + ";" + expires + ";path=/";
    };
</script>

这是我在页面中放置的代码,用于存储和显示用户所做的所有书签。代码扫描20个cookie(&#34; cookie1&#34;,&#34; cookie2&#34;到&#34; cookie20&#34;)然后显示有值的前10个cookie。然后使用innerHTML()将cookie显示在表中。

<script>
    function getCookie(cname) {
        var name = cname + "=";
        var decodedCookie = decodeURIComponent(document.cookie);
        var ca = decodedCookie.split(';');
        for(var i = 0; i <ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
            if (c.indexOf(name) == 0) {
                return c.substring(name.length, c.length);
            } else {
                return "false"
            }
        }
    };

    var counter=0;
    for (var alpha=0; alpha<20; alpha++){
        bookmark = getCookie("cookie"+alpha.toString());
        if (counter > 10){
            break;
        }
        if (bookmark != "false"){
            document.getElementById("bookmark"+counter.toString()).innerHTML = bookmark;
            counter++;
        }
    };
</script>

但是,由于某种原因,上面的代码没有显示预期的结果(即使按下图标并触发getCookie功能,文章的名称也不会显示在包含所有书签的页面上)。我的代码有问题吗?

(这是我提出的第一个问题,所以我们将非常感谢任何建议)

0 个答案:

没有答案