实现同一页面多tab时的状态同步

2019-12-26 17:29:13 浏览数 (2)

不同tab的js执行环境是不同的,因此变量不会共享,watcher也不会互相影响。

可以利用 storage事件监控localstorge的变化 ,storege事件只能注册在window上

创建两个页面 A和B 分别在不同的Tab打开

代码语言:javascript复制
<!DOCTYPE html>
<html>

<head lang="en">
  <title>A</title>
</head>

<body>
  <script>
    window.addEventListener("storage", function (e) {
      alert(e.newValue);
    });
  </script>
</body>

</html>
代码语言:javascript复制
<!DOCTYPE html>
<html>
<head lang="en">
    <title>B</title>
</head>
<body>
<script>
    localStorage.clear();
    localStorage.setItem('foo', 'bar');
</script>
</body>
</html>

0 人点赞