J'ai lu beaucoup de questions JQuery Cookie sur ici et savez qu'il y a un plug-in JQuery Cookie ( JQuery Cookie ). Sans faire beaucoup d'enquête, la question: y a-t-il un moyen de déterminer la date d'expiration du cookie?
du document JQuery.cooke DOC: P>
/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
3 Réponses :
$.cookie("example", "foo", { expires: 7 });
Will expire in 7 daysthere is no Javascript API that allows you to check the expiry date for a cookie
Je veux la valeur d'expiration. Je ne demande pas comment définir la valeur d'expiration elle-même.
Il n'y a pas d'API JavaScript qui vous permet de vérifier la date d'expiration d'un cookie
Sauf si quelque chose a changé, vous ne pouvez pas obtenir cette valeur de em> un cookie, vous pouvez la définir, mais c'est tout, quand il l'expirera, il ne figurera plus dans la collection de cookies. ... Mais vous ne pouvez pas voir que cela expire dans 5 minutes par exemple. Votre meilleur pari pour quelque chose dans le sens de la session expiration consiste à utiliser SETTimeOut () CODE> Avec le bon délai, par exemple si elle est 5 minutes, vous pouvez alerter à 4 minutes 30 secondes, Comme ceci: p>
Appréciez la réponse, merci. Puisque je mettais la mise à jour du cookie via PHP sur chaque demande de page suivante, vous recommandez que je viens de passer à chaque demande de page définir un délai d'attente de cookie.expiration - (un peu de temps) pour déclencher un message à l'utilisateur? Je suppose que je ne comprends pas simplement pourquoi vous pouvez définir une expiration mais que vous ne pouvez pas le récupérer.
@Chris - Je ne suis pas sûr du raisonnement sur celui-ci, sachez simplement que le document / Cookie API n'a pas de méthodes pour l'obtenir, si vous regardez document.cookie code> vous le verrez N'est-ce pas là :) et oui sur le délai d'attente sur chaque page ou que vous avez simplement ce délai d'attente directement dans un fichier JavaScript inclus ... Je ferais une barre de notification ou quelque chose d'autre qu'une alerte personnellement, mais l'idée est la même chose: )
Comme il n'est pas accessible à partir de l'API JavaScript, le seul moyen est de le stocker dans le contenu en parallèle avec les métadonnées.
var now = new Date().getTime();
var cookie = $.parseJSON($.cookie("myCookie"));
var timeleft = cookie.expires - now;
var cookieData = cookie.data;
var cookie = $ .parsejson ($. Cookie ("mycocie")); ne marche pas. @Link Stackoverflow.com/questions/1532193/...
@ user470370: à condition que vous incluez JQuery et Le plugin de cookie et utilisez JSON correct (j'ai fait Une erreur, a oublié des citations autour des clés de la chaîne JSON) Cela fonctionne très bien. jsfiddle.net/3ddlg/2
Veuillez considérer que vous aurez des problèmes d'obtenir une valeur stockée de cette manière sur le côté serveur. Par exemple, en PHP, $ _Cookie ['mycookie'] n'obtiendra que les premiers personnages de sa valeur.