Maison  >  Article  >  interface Web  >  Introduction aux événements de stockage, méthodes de communication entre les pages js

Introduction aux événements de stockage, méthodes de communication entre les pages js

一个新手
一个新手original
2017-10-26 09:45:411538parcourir

Lors de la rédaction d'une page, on rencontre parfois une telle exigence, qui nécessite le transfert de données ou un événement entre deux pages. À ce stade, vous devez utiliser l'événement de stockage dont je vais parler aujourd'hui. Avant d'apprendre cet événement, vous devez comprendre l'utilisation de localStorage. Pour une utilisation spécifique, veuillez consulter d'autres documents. Les conditions de déclenchement d'un événement de stockage sont les suivantes :

  1. Le même navigateur ouvre deux pages de même origine

  2. Modifié dans une page Web localStorage

  3. Une autre page Web a enregistré l'événement storage

 L'événement de stockage n'est disponible que sur la même page Cela a un effet, mais cela n’a aucun effet s’il provient de sources différentes. Alors, qu’est-ce que l’homologie ?

L'URL se compose du protocole, du nom de domaine, du port et du chemin. Si le protocole, le nom de domaine et le port de deux URL sont identiques, cela signifie qu'elles ont la même origine. Par exemple :


http://www.wszdaodao.cn/demo/index.html
//这个网址,协议是http://域名是www.wszdaodao.cn,端口是80(默认端口可以省略)

//对比URL:
http://www.wszdaodao.cn/demo2/other.html     //同源
http://www.wszdaodao.cn:81/demo/index.html   //不同源
http://sxh.wszdaodao.cn/demo/index.html      //不同源
http://www.mamama.cn/demo/index.html         //不同源

Par conséquent, lors du test, assurez-vous qu'il s'agit de la même page source.

Ce qui suit est le code d'interaction entre les deux pages. La mise en œuvre est très simple, communiquant entre la pageA et la pageB.

page A : Définir localStorage


<!DOCTYPE html>
<html>
<head>
<title>page A</title>
</head>
<body>
<button>click<button>
</body>
<script>
      document.querySelector(&#39;button&#39;).onclick = function(){
              localStorage.setItem(&#39;Num&#39;, Math.random()*10);
      }
</script>
</html>

page B : Écouter les événements de stockage


<!DOCTYPE html>
<html>
<head>
    <title>page B</title>
</head>
<body>
<script>
    window.addEventListener("storage", function (e) {
        console.log(e)
        console.log(e.newValue)
    });
</script>
</body>
</html>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn