11 votes

Javascript localStorage et domaines

Comme l'iPad/iPhone ne prend pas en charge les cookies provenant de sites tiers, je veux stocker les valeurs dans localStorage. Un exemple sur le domaine A pourrait être :

<script src="http://domainB/something.js"></script>

Ce script sur le domaineB peut accéder à window.localStorage et cela fonctionne très bien. Cependant, les valeurs sont stockées dans le domaineA car c'est l'emplacement du document.

Si je place mon script à l'intérieur d'une iframe dont la source est sur le domaineB, alors cela fonctionne, mais j'essaie d'éviter les frames. Ma question est donc la suivante : existe-t-il un moyen d'obtenir/de définir des valeurs dans localStorage sur un domaine distant de sorte qu'elles soient présentes lorsque je visite le domaine B ultérieurement ?

5voto

hellslam Points 648

Ce n'est pas possible sans votre contournement de l'iframe.

La possibilité d'accéder au même objet localStorage à partir de plusieurs domaines violerait la politique de l'origine identique et la spécification :

Les agents utilisateurs doivent envoyer un message SECURITY_ERR chaque fois que l'un des membres d'un objet Storage initialement retourné par l'attribut localStorage sont accédés par des scripts dont la valeur scripts dont l'origine effective n'est pas la même que l'origine du Document de l'objet Window sur lequel l'attribut l'attribut localStorage a été consulté.

http://dev.w3.org/html5/webstorage/#security-localStorage

Si ce n'était pas pour l'iPhone, je suggérerais une solution flash. Mais avec localStorage, je pense que vous n'avez pas de chance jusqu'à ce qu'ils mettent en place une politique inter-domaines.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X