Les API multimédia et graphiques en HTML5, exemples avec <audio/>, <video/> et <canvas/>

Web Storage

Reprendre le code de l'exercice précédent.

Le but de cet exercice est d'utiliser l'API Web Storage pour stocker des informations.

Question

Supposons que l'utilisateur ait accès à un formulaire basique pour commenter un article.

Le Web Storage peut être utilisé pour éviter qu'il n'ait à saisir ses données à nouveau en cas d'invalidation du formulaire, d'erreur de connexion...

Ajouter le formulaire ci-dessous à la fin d'un élément article de son choix :

CTRL+C pour copier, CTRL+V pour coller
1
<form onsubmit="return false;">
2
    <input type="text" id="comment" placeholder="Un commentaire ?"/><br/>
3
    <button type="submit">Envoyer</button>
4
</form>
<form onsubmit="return false;">
    <input type="text" id="comment" placeholder="Un commentaire ?"/><br/>
    <button type="submit">Envoyer</button>
</form>

Placer également le script incomplet suivant à la fin de l'élément body :

CTRL+C pour copier, CTRL+V pour coller
1
<script>
2
    // Détection du support
3
    if(typeof sessionStorage != 'undefined') {
4
        // code
5
    } else {
6
        alert("sessionStorage n'est pas supporté");
7
    };
8
</script>
<script>
    // Détection du support
    if(typeof sessionStorage != 'undefined') {
        // code
    } else {
        alert("sessionStorage n'est pas supporté");
    };
</script>

Écrire le code qui permet lors de la détection de l'événement onchange du commentaire de le stocker dans le sessionStorage.

Au chargement de la page, on vérifie si la clé correspondante existe ; le cas échéant, le commentaire doit prendre comme valeur initiale la valeur stockée.

Rappel : on peut accéder à un élément du DOM d'après son id avec la méthode suivante : document.getElementById('id').

Question

Vérifier que le code précédent fonctionne au rechargement de l'onglet. Attention : il est nécessaire de quitter la zone de saisie (cliquer en dehors de la zone, n'importe où sur la page) pour que l'événement 'onchange' soit bien déclenché.

Tester le comportement du sessionStorage en fermant le navigateur puis en l'ouvrant à nouveau. Utiliser à la place le localStorage pour observer le changement de comportement.

[Question complémentaire, à faire chez soi] Compteur de visites

On souhaite maintenant intégrer un compteur de visites côté client de la page.

Insérer le code suivant à la fin de l'élément footer :

CTRL+C pour copier, CTRL+V pour coller
1
<p>Vous avez vu cette page <span id="visites"></span> fois !</p>
<p>Vous avez vu cette page <span id="visites"></span> fois !</p>

Question

Écrire le code JavaScript qui affiche la bonne valeur dans l'élément visites au chargement de la page.

On utilisera le localStorage afin que le compteur s'incrémente correctement indépendamment des sessions du navigateur.

PrécédentPrécédentFin
AccueilAccueilImprimerImprimer Rihab Hachem, Cindy Pinvin, Baptiste Perraud, 2014-2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)