Comment puis-je définir/annuler un cookie avec jQuery?
Comment puis-je configurer et effacement d'un cookie à l'aide de jQuery, par exemple créer un cookie nommé test
et définissez la valeur à 1
?
Vous devez vous connecter pour publier un commentaire.
Mise À Jour En Avril 2019
jQuery n'est pas nécessaire pour les cookie de lecture/de manipulation, donc ne l'utilisez pas l'original de la réponse ci-dessous.
Aller à https://github.com/js-cookie/js-cookie au lieu de cela, et d'utiliser la bibliothèque, qui ne dépend pas de jQuery.
De base exemples:
Voir la documentation sur github pour plus de détails.
Voir le plugin:
https://github.com/carhartl/jquery-cookie
Vous pouvez alors:
À supprimer:
En outre, pour définir un délai d'attente d'un certain nombre de jours (10) sur le biscuit:
Si l'expiration de l'option est omise, alors le cookie devient un cookie de session et sont supprimés lorsque le navigateur se ferme.
Pour couvrir toutes les options:
Lire la valeur du cookie:
Vous pouvez spécifier le paramètre path si le cookie a été créé sur un chemin différent de l'actuel:
Mise à JOUR (avril 2015):
Comme indiqué dans les commentaires ci-dessous, l'équipe qui a travaillé sur le plugin original a supprimé le jQuery de dépendance dans un nouveau projet (https://github.com/js-cookie/js-cookie) qui a la même fonctionnalité et la syntaxe générale que la version jQuery. Apparemment le plugin original n'est pas d'aller n'importe où si.
var mytest = $.cookie('nameofcookie');
<br>if (typeof mytest === "undefined") { alert("cookie mytest not set") }
$.removeCookie('nameofcookie', { path: '/' });
domain
de la propriété vous êtes de passage pour les, les sous-domaines?Il n'est pas nécessaire d'utiliser jQuery en particulier pour manipuler les cookies.
De QuirksMode (y compris échapper les caractères)
Prendre un coup d'oeil à
expires
était déjà défini et===
n'a pas été utilisé pour comparer avec0
et' '
.encodeURIComponent
erreur peut encoder des caractères qui sont autorisés dans le cookie d'une valeur ou d'un cookie de nom selon la RFC 6265: github.com/js-cookie/js-cookie/pull/20#issuecomment-94453407. Qui peut causer des problèmes pour supprimer un cookie à l'aide de solutions tierces que s'attendre à certains caractères de ne pas être encodés dans le cookie de nom.Vous pouvez paramétrer les cookies comme
Vous pouvez obtenir les cookies comme
Espère qu'il vous aide à quelqu'un 🙂
EDIT:
Si vous souhaitez enregistrer le chemin d'accès de cookie pour la page d'accueil, seul, puis faire comme
Grâce,
vicky
é
,北
, etc. Aussi, ce n'est pas d'aller travailler pour certains caractères spéciaux ne sont pas autorisés dans le cookie de nom de cookie ou de la valeur. Je recommande la référence suivante: tools.ietf.org/html/rfc6265Vous pouvez utiliser un plugin disponible ici..
https://plugins.jquery.com/cookie/
et puis pour écrire un cookie
$.cookie("test", 1);
pour accéder au cookie
$.cookie("test");
Voici mon module global j'utilise -
Assurez-vous de ne pas faire quelque chose comme ceci:
Ensuite, si le cookie n'existe pas, le débogueur sera de retour quelque peu serviable message du genre ".cookie pas une fonction".
Toujours déclarer d'abord, puis de faire la distinction, après vérification de la valeur null. Comme ceci:
}
qui est manquant ou plusieurs lignes de code manquant?Un exemple simple de définir des cookies dans votre navigateur:
Simple, il suffit de copier/coller et utiliser ce code pour définir votre cookie.
jquery-1.9.0.min.js
sera rechargé pour tout le monde lorsque le nom de fichier est mis à jour pourjquery-1.9.1.min.js
, sinon que le navigateur ne sera PAS de faire une demande au serveur pour vérifier les mises à jour de contenu. Si vous mettez à jour le code à l'intérieurjquery.cookie.js
sans changer de nom de fichier, alors il NE peut être rechargée dans les navigateurs qui déjà mis en cache lejquery.cookie.js
de ressources.jquery.cookie.js
version sans changer de nom de fichier (sauf si votre serveur traitent de la mise en cache à l'aide de E-Étiquettes).Ici est de savoir comment vous définissez le cookie avec JavaScript:
code ci-dessous a été prise à partir de https://www.w3schools.com/js/js_cookies.asp
maintenant vous pouvez obtenir le cookie avec, en dessous de la fonction:
Et enfin, c'est comment vous vérifiez le témoin:
Si vous souhaitez supprimer le cookie, il suffit de régler l'expiration de paramètre à un passé date:
Vous pouvez utiliser la bibliothèque sur Mozilla site ici
Vous serez en mesure de définir et obtenir des cookies comme cela
Je pense plus Frais nous a donné une très belle façon, mais il y a une erreur:
Vous devez ajouter "valeur" près de getTime(); à défaut, le cookie expirera immédiatement 🙂
Je sais qu'il ya beaucoup de grandes réponses. Souvent, j'ai seulement besoin de lire les cookies et je ne veux pas créer de surcharge par le chargement de bibliothèques ou de définir des fonctions.
Ici est comment lire des cookies sur une seule ligne de javascript. J'ai trouvé la réponse dans Guilherme Rodrigues article du blog:
Ce lit le cookie nommé
key
, agréable, propre et simple.J'ai pensé Vignesh Pichamani's réponse était la plus simple et la plus propre. Juste en ajoutant à son la possibilité de définir le nombre de jours avant expiration:
EDIT: aussi ajouté "n'expire jamais" option si aucun numéro de jour est fixé
Placer le biscuit: