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

摘要:不同tab的js执行环境是不同的,因此变量不会共享,watcher也不会互相影响。可以利用 storage事件监控localstorge的变化 ,storege事件只能注册在window上

不同tab的js执行环境是不同的,因此变量不会共享,watcher也不会互相影响。可以利用 storage事件监控localstorge的变化 ,storege事件只能注册在window上

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

<!DOCTYPE html>
<html>

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

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

</html>
<!DOCTYPE html>
<html>
<head lang="en">
    <title>B</title>
</head>
<body>
<script>
    localStorage.clear();
    localStorage.setItem('foo', 'bar');
</script>
</body>
</html>

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_6989