Skip to content

Instantly share code, notes, and snippets.

@Pinhead877
Last active September 10, 2016 08:48
Show Gist options
  • Save Pinhead877/052986d2c2f90d84b600dfda57b6f38b to your computer and use it in GitHub Desktop.
Save Pinhead877/052986d2c2f90d84b600dfda57b6f38b to your computer and use it in GitHub Desktop.
JavaScript cookie set and upadte
function increaseCookieValue(ckName){
var siteCookie = document.cookie, cookieValue;
if(siteCookie == null || !siteCookie.contains(ckName) || isNaN(getNumFromCookie(ckName))){
cookieValue = 1
}else{
var num = getNumFromCookie(ckName);
cookieValue = num+1;
}
return setCookie(cookieValue);
}
String.prototype.contains = function (text){
for(var i=0;i<this.length-text.length;i++){
if(this.substring(i,i+text.length)===text){
return true;
}
}
return false;
}
String.prototype.findIndex = function (text){
for(var i=0;i<this.length-text.length;i++){
if(this.substring(i,i+text.length)===text){
return i;
}
}
return -1;
}
function setCookie(cvalue) {
var d = new Date();
d.setTime(d.getTime() + (365*24*60*60*1000));
var expires = "expires="+ d.toUTCString();
document.cookie = "Count=" + cvalue + "; " + expires;
return cvalue;
}
function getNumFromCookie(cookieName){
var ck = document.cookie;
var start;
for(var i=ck.findIndex(cookieName);i<ck.length;i++)
{
if(ck[i]==='='){
start = i+1;
break;
}
}
for(var j=start; j<ck.length;j++)
{
if(ck[j]===';'){
return parseInt(ck.substring(start,j));
}else if(j===ck.length-1){
return parseInt(ck.substring(start));
}
}
return null;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment