Member 13023527 Ответов: 1

Java script: использование нескольких подсказок и печать их через файлы cookie


Всем привет, это мой первый раз, когда я размещаю вопрос на этом сайте. У меня есть java-скрипт, который запрашивает у приходящего пользователя его имя и кличку домашнего животного. Затем отобразите имя и кличку домашнего животного и количество раз, когда они посещают этот сайт, я могу напечатать имя и номер посещения при каждом посещении. Но не смог распечатать имя питомца. Это мой первый раз, когда я работаю с печеньем. Вот мой код:

Что я уже пробовал:

function setCookie(cname,cvalue,exdays) {
             
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}
function setCookie2(cpet,cvalue,exdays) {
    var e = new Date();
    e.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + e.toGMTString();
    document.cookie = cpet + "=" + cvalue + ";" + expires + ";path=/";
}

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);
        }
    }
    return "";
}
function getCookie2(cpet) {
    var pet = cpet + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var cr = decodedCookie.split(';');
    for(var i = 0; i < cr.length; i++) {
        var d = cr[i];
        while (d.charAt(0) == ' ') {
            d = d.substring(1);
        }
        if (d.indexOf(name) == 0) {
            return d.substring(name.length, d.length);
        }
    }
    return "";
}


function checkCookie() {
    var user=getCookie("username");
    var pet=getCookie2("pet");
    if (user != "") {
        alert("Welcome again " + user);
        document.getElementById("demo").innerHTML = "Welcome back, " + user;
        document.getElementById("d").innerHTML = "Your pet name, " + pet;
    } else {
       user = prompt("Please enter your name:","");
       pet = prompt("Please enter your pet name:","");
       if (user != "" && user != null) {
           setCookie("username", user, 30);
           setCookie2("pet", user, 30);
       }

    }
}

1 Ответов

Рейтинг:
2

Bryian Tan

Пара вещей, я думаю, что getCookie2 и setCookie2 являются избыточными. и эта строка должна быть setCookie ("pet", pet, 30); вместо setCookie ("pet", user, 30);

function checkCookie() {
    var user = getCookie("username");
    var pet = getCookie("pet");
    if (user != "") {
        alert("Welcome again " + user + ' and your pet: ' + pet);
        document.getElementById("demo").innerHTML = "Welcome back, " + user;
        document.getElementById("d").innerHTML = "Your pet name, " + pet;
    } else {
        user = prompt("Please enter your name:", "");
        pet = prompt("Please enter your pet name:", "");
        if (user != "" && user != null) {
            setCookie("username", user, 30);
            setCookie("pet", pet, 30);
        }

    }
}


Выход:
Добро пожаловать, меня зовут
Ваше имя питомца, mypet