Voir le flux RSS

danielhagnoul

Utilisation du localStorage sur plusieurs exemplaires d'une page web

Noter ce billet
par , 05/03/2018 à 22h16 (229 Affichages)
Citation Envoyé par danielhagnoul Voir le message


J'ai testé le code ci-dessous, sur 3 exemplaires de la page web ouverts en même temps, et sur la dernière version des navigateurs Chrome, Firefox et Edge sans constater aucun dysfonctionnement !

Lorsque je clique sur le bouton "Changer la couleur" d'un exemplaire de la page, les deux autres exemplaires de la page reçoivent les informations correctes.

Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
	<!-- cache-control avec max-age=60 pour le développement uniquement -->
  <meta http-equiv="cache-control" content="public, max-age=60">
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
  <meta name="author" content="Daniel Hagnoul">
	<title>Test</title>
  <style>
                *,
                *:after,
                *:before {
                        box-sizing: border-box;
                }
                
                /* CSS du test */
 
 
                /* Fin CSS du test */
 
  </style>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/locale/fr.js"></script>
	<script src="http://danielhagnoul.developpez.com/lib/dvjh/dvjhUtilities-1.5.1.js"></script>
	<script>
    'use strict';
                
                document.addEventListener( "DOMContentLoaded", ev => {
                        // le DOM est construit, la page web n'est pas visible
                        moment.locale( "fr" );
                        klog( `DOM ready   : ${ new kDvjhDate() }` );
                        
                        // code du test
                
                        window.addEventListener( "storage", ev => {
                                klog( "*** event storage ***")
                                klog( "type : ", ev.type );
                                klog( "timeStamp : ", ev.timeStamp );
                                klog( "key : ", ev.key );
                                klog( "oldValue : ", ev.oldValue );
                                klog( "newValue : ", ev.newValue );
                        }, false );
                
                        // fin code du test
                        
                }, false );
    
    window.addEventListener( "load", ev => { 
                        // le DOM est construit et la page web est visible
                        klog( `Window load : ${ new kDvjhDate() }` );
                        
      // code du test
                        
                        const
                                arCouleurs = [ "vert", "rouge", "bleu", "violet", "jaune", "magenta" ];
                        
                        k$( "#btnChanger" ).addEventListener( "click", ev => {
                                klog( "*** btnChanger ***");
                                klog( "in", localStorage.getItem( "couleur" ) );
                                localStorage.setItem( "couleur", arCouleurs[ kIntRandom( 0, 5 ) ] );
                                klog( "out", localStorage.getItem( "couleur" ) );
                        }, false );
 
                        // fin code du test
                        
      kIDUnique();
    }, false );
                
                                
  </script>
</head>
<body>
	<main>
 
		<button id="btnChanger">Changer la couleur</button>
 
	</main>
</body>
</html>
Nom : 88x31.png
Affichages : 7
Taille : 1,4 Ko Licence Creative Commons Attribution 2.0 Belgique

Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Viadeo Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Twitter Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Google Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Facebook Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Digg Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Delicious Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog MySpace Envoyer le billet « Utilisation du localStorage sur plusieurs exemplaires d'une page web » dans le blog Yahoo

Mis à jour 08/06/2018 à 10h40 par danielhagnoul (Licence)

Catégories
Javascript , Développement Web , ES2015

Commentaires