Skip to content

Instantly share code, notes, and snippets.

@luisenriquecorona
Created May 21, 2020 01:35
Show Gist options
  • Save luisenriquecorona/ec73af68a3c8d91232be727cc690c607 to your computer and use it in GitHub Desktop.
Save luisenriquecorona/ec73af68a3c8d91232be727cc690c607 to your computer and use it in GitHub Desktop.
Make use of what is known as encapsulation, an automatic feature of JavaScript objects. Each property or method name you define for an object is private to that object. For example, if you define an object that contains three properties and two methods, the only name that is accessible to other script statements outside of the object is the iden…
var cookieMgr = {
// utility function to retrieve an expiration date in proper
// format; pass three integer parameters for the number of days, hours,
// and minutes from now you want the cookie to expire (or negative
// values for a past date); all three parameters are required,
// so use zeros where appropriate
getExpDate : function(days, hours, minutes) {
var expDate = new Date( );
if (typeof days == "number" && typeof hours == "number" &&
typeof minutes == "number") {
expDate.setDate(expDate.getDate( ) + parseInt(days));
expDate.setHours(expDate.getHours( ) + parseInt(hours));
expDate.setMinutes(expDate.getMinutes( ) + parseInt(minutes));
return expDate.toGMTString( );
}
},
// utility function called by getCookie( )
getCookieVal : function(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1) {
endstr = document.cookie.length;
}
return decodeURI(document.cookie.substring(offset, endstr));
},
// primary function to retrieve cookie by name
getCookie : function(name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg) {
return this.getCookieVal(j);
}
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return "";
},
// store cookie value with optional details as needed
setCookie : function(name, value, expires, path, domain, secure) {
document.cookie = name + "=" + encodeURI(value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
},
// remove the cookie by setting ancient expiration date
deleteCookie : function(name,path,domain) {
if (this.getCookie(name)) {
document.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment