Cara menggunakan COOKIEVALUE pada JavaScript

Saya menambahkan kode di bawah ini Script [lihat kode berikut] ke dalam file javascript yang disebut CookieMonster.js

Ini adalah pembungkus di sekitar cuplikan saat ini dari //www.quirksmode.org/js/cookies.html

Ini bekerja dengan array dan string, ia akan secara otomatis keluar dari array/string Anda , dan semi-titik dua ; [yang tidak ditangani dalam cuplikan asli]. 

Saya telah membuat daftar penggunaan sederhana dan beberapa penggunaan bonus yang saya buat di dalamnya. 

Pemakaian: 

//set cookie with array, expires in 30 days
var newarray = ['s1', 's2', 's3', 's4', 's5', 's6', 's7'];
cookiemonster.set['series', newarray, 30]; 

var seriesarray = cookiemonster.get['series']; //returns array with the above numbers

//set cookie with string, expires in 30 days
cookiemonster.set['sample', 'sample, string;.', 30]; 

var messagestring = cookiemonster.get['sample']; //returns string with 'sample, string;.'

Bonus: 

//It also conveniently contains splice and append [works for string or array [single string add only]].

//append string
cookiemonster.append['sample', ' add this', 30]; //sample cookie now reads 'sample, string;. add this' 

//append array
cookiemonster.append['series', 's8', 30]; //returns array with values ['s1', 's2', 's3', 's4', 's5', 's6', 's7', 's8'] 

//splice
cookiemonster.splice['series', 1, 2, 30]; //returns array with values ['s1', 's4', 's5', 's6', 's7', 's8']

CookieMonster.js:

        var cookiemonster = new Object[];

        cookiemonster.append = function [cookieName, item, expDays] {
            item = cm_clean[item];
            var cookievalue = cookiemonster.get[cookieName];
            if [cookievalue instanceof Array] {
                cookievalue[cookievalue.length] = item;
                cm_createCookie[cookieName, cm_arrayAsString[cookievalue], expDays];
            } else {
                cm_createCookie[cookieName, cookievalue + item, expDays];
            }
        };

        cookiemonster.splice = function [cookieName, index, numberToRemove, expDays] {
            var cookievalue = cookiemonster.get[cookieName];
            if [cookievalue instanceof Array] {
                cookievalue.splice[index, numberToRemove];
                cm_createCookie[cookieName, cm_arrayAsString[cookievalue], expDays];
            }
        };



        cookiemonster.get = function [cookieName] {
            var cstring = cm_readCookie[cookieName];
            if [cstring.indexOf[''] != -1] {

                var carray = cstring.split[','];

                for [var i = 0; i < carray.length; i++] {
                        carray[i] = cm_dirty[carray[i]];
                }

                if [carray[0] == ''] {
                    carray.splice[0, 1];
                }

                return carray;

            } else {

                return cm_dirty[cstring];
            }
        };

        cookiemonster.set = function [cookieName, value, expDays] {
            if [value instanceof Array] {
                cm_createCookie[cookieName, cm_arrayAsString[value], expDays];
            }
            else { cm_createCookie[cookieName, cm_clean[value], expDays]; }

        };

        cookiemonster.eraseCookie = function [name] {
            cm_createCookie[name, "", -1];
        };

        function cm_replaceAll[str, find, replace] {

            return str.replace[new RegExp[find, 'g'], replace];
        };

        function cm_clean[ret] {
            ret = cm_replaceAll[ret.toString[], ',', ','];
            ret = cm_replaceAll[ret.toString[], ';', ';'];
            return ret;
        };
        function cm_dirty[ret] {
            ret = cm_replaceAll[ret, ',', ','];
            ret = cm_replaceAll[ret, ';', ';'];
            return ret;
        };

        function cm_createCookie[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=/";
        };

        function cm_readCookie[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 cm_arrayAsString[array] {
            var ret = ""; //escapes, tells that string is array
            for [var i = 0; i < array.length; i++] {
                    ret = ret + "," + cm_clean[array[i]];
            }
            return ret;
        };

Bài mới nhất

Chủ Đề