11486 sujets

JavaScript, DOM et API Web HTML5

Hello,

Petite demande de coup de main pour le problème suivant:

J'ai un formulaire HTML + CSS qui me retourne les réponses via un petit script php.

Jusque là pas de problème.

Ce formulaire doit être utilisable offline. J'utilise donc le local storage pour stocker mes données dans le cache.

Sur firefox tout marche nickel le mail est envoyé automatiquement à la reconnexion.

Le souci est que sur IE ou Safari, les données ne sont pas stockées et le mail est envoyé sans aucune donnée.

Le formulaire est destiné à être utilisé uniquement sur iPad.

Merci d'avance si vous avez des indices sur le code suivant:

<script type="text/javascript">
$(document).ready(function () {
    function init() {
        if (localStorage["A/C"]) {
            $('#A/C').val(localStorage["A/C"]);
        }
        if (localStorage["Forms[]"]) {
            $('#Forms[]').val(localStorage["Forms[]"]);
        }
        if (localStorage["Action"]) {
            $('#Action').val(localStorage["Action"]);
        }
		if (localStorage["Manuals[]"]) {
            $('#Manuals[]').val(localStorage["Manuals[]"]);
        }
		if (localStorage["Comments"]) {
            $('#Comments').val(localStorage["Comments"]);
        }
    }
    init();
});

$('.stored').keyup(function () {
    localStorage[$(this).attr('A/C')] = $(this).val();
});

$('#localStorageTest').submit(function() {
    localStorage.clear();
});
</script>
Salut,

Je n'ai pas vraiment testé mais tu devrais essayer de faire en sorte d'utiliser cette API selon la norme pour garantir un support optimal à travers les différents navigateurs.

Documentation: Using the Web Storage API

localStorage.setItem('identifiant', valeur);
var valeur = localStorage.getItem('identifiant');
Yep merci pour ta réponse mathieu

j'ai testé le code ci-dessous toujours ok sur firefox mais ko sur l'ipad.

<script type="text/javascript">
	
	if(!localStorage.getItem('A/C')) {
  populateStorage();
} else {
  init();
}
	
$(document).ready(function () {
    function init() {
        if (localStorage["A/C"]) {
            localStorage.setItem('A/C', document.getElementById('A/C').value);
        }
        if (localStorage["Forms[]"]) {
            localStorage.setItem('Forms[]', document.getElementById('Forms[]').value);
        }
        if (localStorage["Action"]) {
            localStorage.setItem('Action', document.getElementById('Action').value);
        }
		if (localStorage["Manuals[]"]) {
            localStorage.setItem('Manuals[]', document.getElementById('Manuals[]').value);
        }
		if (localStorage["Comments"]) {
            localStorage.setItem('Comments', document.getElementById('Comments').value);
        }
    }
    init();
});


$('.stored').keyup(function () {
    localStorage[$(this).attr('A/C')] = $(this).val();
});

$('#localStorageTest').submit(function() {
    localStorage.clear();
});
</script>


Le mail est toujours vide comme si aucune donnée n'avait été stockée... Smiley rolleyes
Salut,

J'ai également lu quelque part, que par défault, ipad ios safari est en navigation privée si tu enregistre le liens cela devrait fonctionner. peut être je me trompe.
yep merci j'avais vu ça aussi pour la navigation privée et fait quelques tests sans succès

firefox utilise toujours un vrai mode hors connexion qui n'est plus géré dans IE et qui fonctionne avec la liste de lecture sur Safari peut être que mon problème vient de là?
j'ai également trouver ceci

In iOS 5.1 Apple have moved the location of localStorage files into a Caches folder which is subject to occasional clean up, at the behest of the OS, typically if space is short. It is likely that Apple have done this to stop localStorage being backed up to iCloud.

-----------------------------

I am not able to access localStorage in Safari (IPad with IOS-6). For example, the following code is working fine in Windows on all browsers and on (iPad with iOS-5) but not in iOS-6: localStorage.setItem("var","5"); alert(localStorage.getItem("var"));

-------------------------------

I was able to fix the issue by turning off private browsing on the iPad. I came across the solution from the reference : https://github.com/cloudhead/less.js/issues/312#issuecomment-2994845

c'est assez curieux.

Tu peux également essayer cordova
Modifié par JENCAL (03 Aug 2015 - 15:13)