JavaScript で Cookie を設定および取得する [重複] 質問する

JavaScript で Cookie を設定および取得する [重複] 質問する

HTML で選択した CSS ファイルに応じて Cookie を設定しようとしています。オプションのリストと、値としてさまざまな CSS ファイルを含むフォームがあります。ファイルを選択すると、約 1 週間 Cookie に保存されます。次に HTML ファイルを開くと、前に選択したファイルが表示されます。

JavaScript コード:

function cssLayout() {
    document.getElementById("css").href = this.value;
}


function setCookie(){
    var date = new Date("Februari 10, 2013");
    var dateString = date.toGMTString();
    var cookieString = "Css=document.getElementById("css").href" + dateString;
    document.cookie = cookieString;
}

function getCookie(){
    alert(document.cookie);
}

HTMLコード:

<form>
    Select your css layout:<br>
    <select id="myList">
        <option value="style-1.css">CSS1</option>
        <option value="style-2.css">CSS2</option>  
        <option value="style-3.css">CSS3</option>
        <option value="style-4.css">CSS4</option>
    </select>
</form>

ベストアンサー1

次のコードは他のものよりもはるかにシンプルだと思います。

function setCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
function eraseCookie(name) {   
    document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

さて、関数の呼び出し

setCookie('ppkcookie','testcookie',7);

var x = getCookie('ppkcookie');
if (x) {
    [do something with x]
}

ソース -http://www.quirksmode.org/js/cookies.html

ページは今日更新されたので、現時点ではページ内のすべてが最新のものであるはずです。

おすすめ記事