IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Cookie mal mémorisé sous iOS 12, Effacé au bout de qq jours et non 1 an
Options
Tom25
posté 30 May 2019, 08:45
Message #1


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 306
Inscrit : 27 Jul 2008
Lieu : Besançon
Membre no 118 630



Roulant beaucoup pour mon boulot depuis des années, j'aime suivre mes consommations de carburant. Mon ancienne voiture avait un ordinateur de bord qui me l'affichait mais pas la nouvelle. Je me suis donc créé une page web avec un JavaScript qui me calcule ma conso :
Calcul Consommation
Si on coche la case pour mémoriser les données, l'email et le totalisateur après sont conservés dans un Cookie. Le Totalisateur devient avant quand on réouvre la page. Comme ça on saisi le totalisateur au moment du plein suivant et je fais la différence entre celui-ci et le précédent.

Sur iPhone iOS (et c'est là dessus que j'utilise mon script) le cookie disparait après 2 ou 3 jours alors que j'ai réglé la durée de vie à 1 an.
Sur Mac (El Capitan) et iPad 1 (resté à iOS 5 je crois) je n'ai pas de problème, le Cookie est conservé sans limite de durée (enfin 1 an).

Je ne suis pas spécialiste, j'ai fouillé sur le web pour trouver des exemples et je les ai suivis.
Que dois-je faire pour qu'iOS 12 se souvienne de mon Cookie ?


--------------------
Go to the top of the page
 
+Quote Post
scoch
posté 30 May 2019, 18:59
Message #2


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 803
Inscrit : 1 Jul 2010
Membre no 156 073



Peut-être que ton problème est dû à ce changement opéré par Apple pour Safari mobile.

Plutôt que d’utiliser un cookie tu pourrais regarder du côté de localStorage de HTML5.

Exemple de code :
Code
// Récupérer l’objet « objetTest » de localStorage
var objetLocalStorage = localStorage.getItem('objetTest');
if(objetLocalStorage !== null) {
    var obj = JSON.parse(objetLocalStorage);
    console.log(obj);
}

// Enregistrer/modifier l’objet « objetTest » dans localStorage
var objetTest = { 'prenom': 'Coco', 'nom': 'Nuts', 'age': '12' };
localStorage.setItem('objetTest', JSON.stringify(objetTest));


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post
Tom25
posté 30 May 2019, 21:53
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 2 306
Inscrit : 27 Jul 2008
Lieu : Besançon
Membre no 118 630



Merci pour ta réponse, je vais regarder.


--------------------
Go to the top of the page
 
+Quote Post
scoch
posté 31 May 2019, 15:28
Message #4


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 4 803
Inscrit : 1 Jul 2010
Membre no 156 073



Dans ton cas, j'utilisetais localStorage pour que ça fonctionne hors connexion mais je sauvegarderais en base de données dès qu'une connexion est disponible.


--------------------
L'homme n'est que poussière... c'est dire l'importance du plumeau ! Alexandre Vialatte
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th March 2024 - 14:47