Y a-t-il un moyen d'avoir des données persistantes (comme un fichier XML ou une fois) à part des cookies au côté client? Je sais que ce n'est pas possible avec JavaScript directement. Mais toute autre façon comme des applets ou quelque chose ?? p>
8 Réponses :
Ouais. Caveat: le soutien varie selon les navigateurs (comme avec tout HTML5).
Intéressant. Mais si le client est IE6 ou IE8? De toute façon avec des plugins?
@mihsathe: Si le navigateur ne supporte pas (par exemple IE6), il est évident que vous ne pouvez pas l'utiliser (vous auriez à faux avec les cookies). IE8 semble avoir certains i> Support: stackoverflow.com/questions/3452816/...
@mihsathe: vous êtes les bienvenus. BTW cela peut aussi être d'intérêt: findmebyip.com/litmus
CAVEAT: En outre, il peut être essuyé à tout moment par l'utilisateur
Avertissement: Le stockage local n'est pas vraiment persistante. Chrome perd des données sur le redémarrage dur et iOS il efface quand il est faible sur le disque.
Liaison cassée, redirection sur site avec un contenu douteux (j'ai été surpris de voir le contenu adulte) Voir développeur.mozilla.org/en-us/docs/web/api/window/localstorage à la place
Les navigateurs récents soutiennent HTML5 stockage local. P>
Si le client ne prend pas en charge HTML 5, le plugin Google Gears permet le stockage local. P >
Les engrenages sont géniaux et ont été utilisés pour beaucoup de choses pendant un moment, mais ils ont naturellement changé d'efforts vers HTML5 plus tôt cette année ( GearSblog.blogspot.com/2010/02/hello-html5.html ). Engrenages le fait, en étant un plugin (nécessite l'installation de l'utilisateur, etc.).
Google Gears est maintenant dépréciée.
Nous utilisons wrapper local local de Yui sans problème pendant un certain temps. La bibliothèque utilise automatiquement la meilleure option de stockage disponible et prend en charge presque tous les navigateurs; IE6 +, Firefox2.0 + et plus récent Safari, Chrome et Opera. P>
Si les cookies ne suffiront pas, et vous devez soutenir les navigateurs plus âgés, lawnchair pourrait vous aider: http: / /brian.io/lawnchair/plugins/ p>
C'est comme un "canapé" mais plus petit, obtenez-le? M'a pris quelques minutes;). p>
et, il fonctionne pour les navigateurs de bureau, malgré le texte de texte sur le site sur mobile-webkit: https://github.com/brianleroux/lawnchair/blob/master/readme.md . p>
(mais, il utilise des cookies comme adaptateur pour stocker des données pour les retombées sur les navigateurs plus anciens, la plupart des bibliothèques de ce type seront probablement, si vous n'êtes pas autorisé à utiliser des cookies pour une raison quelconque, ces types de bibliothèques ne correspondent pas à la facture.) p>
Mais nous avons une limite sur le nombre de biscuits à stocker non? ou est-ce seulement pour le côté serveur?
Oui, les cookies ont des limites (dépend du navigateur, mais de 4kb max par cookie, et parfois aussi peu que 30 autorisés par domaine), et aussi les autres solutions de stockage locales, même le stockage local HTML5. Cela dépend de ce que vous voulez stocker, mais vous devez garder à l'esprit qu'il est le côté du client, vous voulez généralement conserver des données minimales là-bas. En outre, toutes ces alternatives, et quelques autres, sont énumérées ici: en.wikipedia.org/wiki / Http_cookie # alternatives_to_cookies .
Cela me semble que lawnchair et la solution YUI Yeameen noté sont similaires, une belle API JS et ils encapsulent le mécanisme de stockage basé sur la plate-forme de navigateur. Je regarderais ceux (ou d'autres offres similaires).
Même la boîte à outils Dojo fait la même chose.
Le premier maillon de cette réponse est brisée. Le site a été déplacé ailleurs?
@AndersonGreen J'ai édité la réponse avec le nouveau lien: brian.io/lawnchair/plugins . Ne peut pas être visible jusqu'à ce qu'il en revue par les pairs
Le stockage local HTML5 est définitivement la réponse, si vous souhaitez un exemple sur la procédure d'utilisation de cette fonctionnalité, vérifiez si le navigateur le prend en charge et comment itérer sur les éléments Vérifiez ce lien:
Je suis arrivé à trébucher sur cette page de wiki qui répertorie beaucoup de magasins JS persistants: https://github.com/bebraw/jswiki/wiki/storage-libraires P>
Ceci est une vieille question, mais il y a des très belles L'API STRY> SYSTEM DE FICHIER STRAND> et Pour éviter les problèmes de sécurité Les fichiers que vous stockez sur les machines client sont deboxication et obscurcis sur le côté du client. P>
API-système de fichiers et pour les navigateurs qui ne sont pas encore Prise en charge de l'API du système de fichiers Il existe un JS Vous pouvez inclure pour obtenir la fonctionnalité souhaitée . Vous pouvez demander un stockage temporaire ou persistant. La seule limitation de votre taille de fichier avec l'API du système de fichiers est la montagne de l'espace libre sur le disque dur du client (couplé au quota que vous demandez). Le stockage temporaire dans l'API du système de fichiers vous obtiendra seulement plusieurs centaines de MB max (un couple GB si vous avez de la chance). J'utilise des gs à double chiffre avec indexeddb strong> p>
indexeddb est une technologie prise en charge plus largement du navigateur. Il existe davantage de limitations de taille de fichier pour IndexeddB, généralement vous pourrez accéder à un couple MB Hunded MB d'espace à l'aide de demandes de quota. P> stockage persistant code> pour les applications Web avec peu ou pas de problèmes. P>
Si vous travaillez dans Google Chrome, FSO.JS enveloppe l'API de système de fichiers asynchrone pour vous et est très facile à utiliser. P>
Cette technologie doit être prise en charge par d'autres navigateurs. P>
Un applet Java peut le faire s'il est signé numériquement. Mais personnellement, je ne voudrais pas installer un applet signé à partir d'une source non approuvée en raison du trou de sécurité potentiel qu'il s'ouvre.