JavaScript cookie 访问次数,上次登录日期

JavaScript Cookie Visit Count, Last Login Date

本文关键字:登录 日期 cookie 访问 JavaScript      更新时间:2023-09-26

我是JavaScript和cookie的新手,我正在尝试创建一个显示某人访问网站的次数,他们上次访问的时间以及cookie的到期日期。

到目前为止,我已经从W3schools中获取了代码,并试图根据我的需求对其进行修改,但没有运气,然后我尝试了SitePoint。 我现在拥有的是两者的融合...

JavaScript

function createCookie(name, value, expires) {
    var cookie = name + "=" + escape(value) + ";";
    document.cookie = cookie;
function getCookie(name)  {
    var regexp = new RegExp("(?:^" + name + "|;'s*"+ name + ")=(.*?)(?:;|$)", "g");
    var result = regexp.exec(document.cookie);
    return (result === null) ? null : result[1];
}
function checkCookie()  {
    var visLog = getCookie("visLog");
    var visAmt = 0;
    var logDate = new Date();
    //create lastLog logDate storage

    if (visLog != null)  {
        visAmt++;
        alert("You've visited this page: " + visAmt + " times." 'n
            "Last visited: " + logDate + "." 'n
            "This cookie will stop tracking: " + expires);
    }else{
        createCookie("visLog", "visits", "December 31, 2013 12:59:59");
    }
} 

.HTML

<body onload="checkCookie()">

编辑:语法。

您是否有理由从 cookie 而不是从应用程序数据库执行此操作?仅当用户在同一台计算机上使用相同的浏览器时,Cookie 才会显示信息。通常,这种东西与用户登录信息一起存储在数据库中。


使用 localStorage 可能更容易实现,因为大多数浏览器现在都有它:

function updateVisitInfo() {
    localStorage.lastVisit = new Date();
    localStorage.numVisits = (localStorage.numVisits || 0) + 1;
}
function printVisitInfo() {
    alert("You've visited this page: " + (localStorage.numVisits || 0) + " times." 'n
        "Last visited: " + (localStorage.lastVisit || "never") + "."
}