jQuery vérifie si le Cookie existe, sinon le crée
Je ne peux pas faire fonctionner ce code, je dois manquer quelque chose d'assez simple. J'essaie de vérifier si un Cookie existe, s'il ne fait rien, s'il ne le crée pas. Je teste le cookie en incluant une alerte sur une page. Fondamentalement, Je ne veux pas que le cookie continue à recréer avec une url de référence, j'essaie de ne saisir que la première URL référencée.
$(document).ready(function(){
if ($.cookie('bas_referral') == null ){
var ref = document.referrer.toLowerCase();
// set cookie
var cookURL = $.cookie('bas_referral', ref, { expires: 1 });
}
});
Affichage du contenu actuel du cookie:
// get cookie
alert($.cookie('bas_referral'));
// delete cookie
$.cookie('bas_referral', null);
5 réponses
Je pense que la manière pare-balles est:
if (typeof $.cookie('token') === 'undefined'){
//no cookie
} else {
//have cookie
}
La vérification du type d'un var null, vide ou indéfini renvoie toujours 'undefined'
Modifier: Vous pouvez y arriver encore plus facilement:
if (!!$.cookie('token')) {
// have cookie
} else {
// no cookie
}
!!
tourner l'falsy valeurs false. Gardez à l'esprit que cela va tourner 0
à false!
$(document).ready(function() {
var CookieSet = $.cookie('cookietitle', 'yourvalue');
if (CookieSet == null) {
// Do Nothing
}
if (jQuery.cookie('cookietitle')) {
// Reactions
}
});
J'avais beaucoup de problèmes avec cela parce que j'utilisais:
if($.cookie('token') === null || $.cookie('token') === "")
{
//no cookie
}
else
{
//have cookie
}
Ce qui précède renvoyait toujours false, peu importe ce que j'ai fait en termes de configuration du cookie ou non. De mes tests, il semble que l'objet est donc indéfini avant qu'il ne soit défini, donc l'ajout de ce qui suit à mon code l'a corrigé.
if($.cookie('token') === null || $.cookie('token') === ""
|| $.(cookie('token') === "null" || $.cookie('token') === undefined)
{
//no cookie
}
else
{
//have cookie
}
, Vous pouvez définir le cookie après avoir vérifié s'il existe une valeur.
$(document).ready(function(){
if ($.cookie('cookie')) { //if cookie isset
//do stuff here like hide a popup when cookie isset
//document.getElementById("hideElement").style.display = "none";
}else{
var CookieSet = $.cookie('cookie', 'value'); //set cookie
}
});
Essayez ceci très simple:
var cookieExist = $.cookie("status");
if(cookieExist == "null" ){
alert("Cookie Is Null");
}