JQuery peut-il lire/écrire des cookies sur un navigateur?
exemple Simple: je veux avoir quelques éléments sur une page (comme divs ou table rows), et je veux laisser l'utilisateur cliquer sur eux pour les sélectionner. Cela semble assez facile à jQuery. Pour enregistrer les éléments sur lesquels un utilisateur clique sans avoir de dos post côté serveur, je pensais qu'un cookie serait un moyen simple de faire cela.
- cette hypothèse est-elle correcte dans ce cas?
- si elle est correcte, est-ce que l'API jQuery a quelque chose pour lire/écrire des informations sur les cookies qui sont plus agréables que les API JavaScript par défaut?
8 réponses
L'API JavaScript par défaut pour configurer un cookie est aussi simple que:
document.cookie = 'mycookie=valueOfCookie;expires=DateHere;path=/'
utilisez le plugin de cookie jQuery comme:
$.cookie('mycookie', 'valueOfCookie')
vous aurez besoin du plugin de cookie, qui fournit plusieurs signatures supplémentaires à la fonction de cookie.
$.cookie('cookie_name', 'cookie_value')
stocke un cookie transitoire (n'existe que dans le cadre de cette session, tandis que $.cookie('cookie_name', 'cookie_value', 'cookie_expiration")
crée un cookie qui durera à travers les sessions - voir http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery / for more information on the JQuery cookie plugin.
si vous voulez configurer des cookies qui sont utilisé pour l'ensemble du site, vous aurez besoin d'utiliser JavaScript comme ceci:
document.cookie = "name=value; expires=date; domain=domain; path=path; secure"
un nouveau plugin jQuery pour la récupération et la manipulation de cookies avec reliure pour les formulaires, etc: http://plugins.jquery.com/project/cookies
pour répondre à votre question, oui. Les autres ont répondu à cette partie, mais il semble aussi que vous vous demandez si c'est la meilleure façon de le faire.
cela dépend probablement de ce que vous faites. En général, vous demandez à un utilisateur de cliquer sur ce qu'ils veulent acheter (par exemple, commander). Ensuite, ils cliquaient sur le bouton "Acheter" Ou "Acheter". Ensuite, le formulaire serait envoyé à une page et traiter le résultat. Tu pourrais faire tout ça avec un cookie mais je trouverais que c'est plus difficile.
Vous voulez publier votre deuxième question dans un autre sujet.
vous pouvez parcourir tous les plugins jQuery marqués avec "cookie" ici:
http://plugins.jquery.com/plugin-tags/cookies
beaucoup d'options là.
découvrez celui appelé jQuery Storage, qui tire profit du stockage local de HTML5. Si localStorage n'est pas disponible, c'est par défaut les cookies. Cependant, il ne vous permet pas de fixer l'échéance.
il semble que le plugin de cookie jQuery n'est pas disponible en téléchargement. Cependant, vous pouvez télécharger le même plugin de cookie jQuery avec quelques améliorations décrites dans jQuery & Cookies (get/set/delete & a plugin) .
j'ai réussi à écrire un script permettant à l'utilisateur de choisir sa langue, en utilisant le script cookie de Klaus Hartl . Cela m'a pris quelques heures de travail, et j'espère pouvoir aider les autres.