1

このコードを変更して、Cookie が 1 年間ではなく、セッションの間だけ持続するようにするには、助けが必要です。どのような変更を加える必要がありますか?

function createCookie(name,value,) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000*365));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    }

私はこれをやろうとしましたが、うまくいかないようです。Cookie は作成されますが、セッションが終了しても消えません。

function createCookie(name,value) {
    document.cookie = name+"="+value+"; path=/";
}

- - アップデート - -

コードにいくつかの小さな変更を加えました。

    function createCookie(name,value,expires) {
        var expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    }

今、私はChromeを使用していましたが、私が持っていたコードでは機能せず、このコードでも機能しません. ただし、このコードは IE、Firefox、および Opera で機能します。セッションが終了するとCookieは削除されますが、Chromeでは削除されません...

4

2 に答える 2

1

バージョン 19 以降の Chrome では、セッション Cookie の処理に関して画期的な変更が行われました。ユーザー エクスペリエンスを向上させるために、セッション Cookie は削除されません。

私の理解が正しければ、Chrome の設定で設定されたオプションに「中断したところから続行」と表示されているため、セッション cookie が期限切れになることはありません。

見てください:

Chrome はセッション Cookie を削除しません

于 2013-01-11T15:42:45.810 に答える
0

ChromeまたはFirefoxを使用している場合は、expiresを0に設定し、IEを使用している場合は、expiresパラメーターをすべて省略します。

于 2013-01-11T15:05:08.503 に答える