0
J'utilise le code suivant pour définir le cookie, cependant, lorsque j'utilise document.cookie
dans la console, il n'imprime pas la paire valeur/clé que j'ai transmise via setItem()
. Quelqu'un sait quel est le problème?cookie n'est pas toujours défini
var docCookies = {
getItem: function (sKey) {
return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=\\s*([^;]*).*$)|^.*$"), "$1")) || null;
},
setItem: function (sProperties) {
var cookieString = "";
var sExpires = "";
for (var sKey in sProperties){
console.log("inside for");
if (sProperties.hasOwnProperty(sKey)) {
// alert("Key is " + k + ", value is" + target[k]);
console.log("inside if");
cookieString += encodeURIComponent(sKey) + "=" + encodeURIComponent(sProperties[sKey])+"; ";
}
}
console.log("outside for");
document.cookie = cookieString.substring(0,cookieString.length-2);
return true;
},
hasItem: function (sKey) {
return (new RegExp("(?:^|;\\s*)" + encodeURIComponent(sKey).replace(/[\-\.\+\*]/g, "\\$&") + "\\s*\\=")).test(document.cookie);
}
};
var expireDate = (new Date((new Date()).getTime() + (60*24*60*60*1000))).toUTCString();
var sProperties = [];
sProperties['_country'] = _country ;
sProperties['_language'] = _language ;
sProperties['_pageName'] = _pageName ;
sProperties['_products'] = _products ;
sProperties['_events'] = _events ;
sProperties['_server'] = _server ;
sProperties['_href'] = _href ;
sProperties['expires'] = expireDate ;
docCookies.setItem(sProperties);
Je lis toutes les valeurs du tableau et les mettre dans 'cookieString' si vous regardez attentivement – Blake
ouais je sais, je veux dire ce 'var sProperties = []; sProperties ['_ country'] = _country; 'est incorrect. sProperties n'obtiendra aucune valeur. Ai-je manqué quelque chose? –