Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ Les Langages Du Web _ Cookie mal mémorisé sous iOS 12

Écrit par : Tom25 30 May 2019, 08:45

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 :
http://tom.25.free.fr/site/CalculConso.html
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 ?

Écrit par : scoch 30 May 2019, 18:59

Peut-être que ton problème est dû à https://www.journaldunet.com/ebusiness/publicite/1422091-apple-durcit-encore-le-blocage-des-cookies-de-tracking/ 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));

Écrit par : Tom25 30 May 2019, 21:53

Merci pour ta réponse, je vais regarder.

Écrit par : scoch 31 May 2019, 15:28

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.

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)