1

私はインターネット全体を見回してきましたが、私のニーズに関連する記事が見つからないようです. 私はこれまでクッキーを扱ったことはありませんでしたが、これは簡単な作業だと思っていました...私は完全に間違っていたことがわかりました:/

基本的に私はカラーピッカーを持っており、サイトに戻ったときに背景色が離れたときと同じになるように、設定されるたびにブラウザにカラーセットを記憶させたいと思っています。

このカラーピッカーを使用していますhttp://lindekleiv.bitbucket.org/colorpicker/

このコードで

$(document).ready(function(){
    $('#colorpicker').colorPicker({
    colorChange: function(e, ui) {
    $('body').css({backgroundColor: ui.color})
    }
    });

    $('#colorpicker').colorPicker('setColor', 0, 0, 6, 1);
})

助けてくれてありがとう:)クリス

4

2 に答える 2

2

私が書いたこの非常に単純な Cookie 処理オブジェクトを使用できます。

var Cookie = {
    set: function(name, value, days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
        } else { var expires = ""; }

        document.cookie = name + "=" + value + expires + "; path=" + location.pathname;
    },

    unset: function(name) { Cookie.set(name, "", -1); },

    get: function(name) {
        var search = new RegExp(name + "=([^;]*);");
        var result = search.exec(document.cookie);
        return result ? result[1] : undefined;
    }
};

したがって、コードは次のようになります。

$(document).ready(function(){
    $('#colorpicker').colorPicker({
        colorChange: function(e, ui) {
            $('body').css({backgroundColor: ui.color});
            Cookie.set('bgc', $('body').css('background-color'), 365);
        }
    });

    $('#colorpicker').colorPicker('setColor', 0, 0, 6, 1);

    if (Cookie.get('bgc')) {
        $('body').css({ backgroundColor: Cookie.get('bgc') });
    }
});
于 2012-12-23T13:41:08.773 に答える
0

それは実際には非常に簡単です。これを使用して、背景色の Cookie を設定できます。

document.cookie = "color=" + color;

そして、これを使用して保存された Cookie を思い出してください。

var color = loadCookies();

function loadCookies(){
    var cookie_string = document.cookie ;
    if (cookie_string.length != 0) {
        var cookie_value = cookie_string.match (
                    '(^|;)[\s]*' +
                    "color" +
                    '=([^;]*)' );
        return decodeURIComponent ( cookie_value[2] ) ;
    }
}
于 2012-12-23T14:05:38.830 に答える