如何通过JavaScript的sharedWorker实现跨页面高效通信的详细案例?

更新于
2026-09-26 11:24:43
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1100个文字,预计阅读时间需要5分钟。

如何通过JavaScript的sharedWorker实现跨页面高效通信的详细案例?

这是这样的,今天玩github,一开始是在没有登录浏览了一些页面,然后在某一个页面进行了登录。这时再切换到其他页面时,下面出现了提示:那么这是怎么做到的呢?我们可以想到一种办‘法’。

是这样的,今天玩github,先是在没有登录浏览了一些页面,然后在某一页面进行了登录。这时再切换的其他页面时就看到了下面的提示:

那么这是怎么做到的呢?我们可以想到,一种办法是 localStorage,在某一个页面登录时,修改localStorage 状态,其他页面在显示的时候,读取最新的状态,然后显示提示:

// 登录的页面 localStorage.setItem('login', true); // 其他页面 document.addEventListener("visibilitychange", function() { if (localStorage.setItem('login') === 'true') { alert('你已登录,请刷新页面'); } }

然而,github并没有这么做,localStorage里也找不到相关的字段,一番查找之后,发现他们是用 sharedWorker 实现的。那我们就来了解下sharedworker

什么是sharedWorker

sharedWorker 顾名思义,是 worker 的一种,可以由所有同源的页面共享。

阅读全文

本文共计1100个文字,预计阅读时间需要5分钟。

如何通过JavaScript的sharedWorker实现跨页面高效通信的详细案例?

这是这样的,今天玩github,一开始是在没有登录浏览了一些页面,然后在某一个页面进行了登录。这时再切换到其他页面时,下面出现了提示:那么这是怎么做到的呢?我们可以想到一种办‘法’。

是这样的,今天玩github,先是在没有登录浏览了一些页面,然后在某一页面进行了登录。这时再切换的其他页面时就看到了下面的提示:

那么这是怎么做到的呢?我们可以想到,一种办法是 localStorage,在某一个页面登录时,修改localStorage 状态,其他页面在显示的时候,读取最新的状态,然后显示提示:

// 登录的页面 localStorage.setItem('login', true); // 其他页面 document.addEventListener("visibilitychange", function() { if (localStorage.setItem('login') === 'true') { alert('你已登录,请刷新页面'); } }

然而,github并没有这么做,localStorage里也找不到相关的字段,一番查找之后,发现他们是用 sharedWorker 实现的。那我们就来了解下sharedworker

什么是sharedWorker

sharedWorker 顾名思义,是 worker 的一种,可以由所有同源的页面共享。

阅读全文