1

私は 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()">

編集:文法。

4

1 に答える 1

-1

アプリケーション データベースではなく Cookie からこれを行っている理由はありますか? Cookie は、ユーザーが同じマシンで同じブラウザーを使用した場合にのみ情報を表示します。通常、この種のものは、ユーザーのログイン情報とともに DB に格納されます。


現在、ほとんどのブラウザーには localStorage があるため、代わりに 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") + "."
}
于 2013-10-14T00:58:42.780 に答える