成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue3 標簽之間怎么通信?詳解四種主流方案

開發 前端
BroadcastChannel 接口代理了一個命名頻道,可以讓指定 origin 下的任意 browsing context 來訂閱它。它允許同源的不同瀏覽器窗口,Tab 頁,frame 或者 iframe 下的不同文檔之間相互通信。通過觸發一個 message 事件,消息可以廣播到所有監聽了該頻道的 BroadcastChannel 對象。

前言

最近跨標簽頁數據傳輸這類功能點比較火,因為現在跨標簽同步數據共享的需求越來越多了,所以大家伙也就都探討這類功能點的實現方式。

今天我就在 Vue3 項目中,給大家演示一下純前端如何實現跨標簽通信:

1、BroadCast Channel

2、Service Worker

3、LocalStorage + onstorage

4、open + postMessage

我先準備一個基礎頁面,代碼如下:

圖片圖片

并打開兩個 Tab,以下都通過這兩個 Tab 來進行代碼演示:

圖片圖片

BroadCast Channel

BroadcastChannel 接口代理了一個命名頻道,可以讓指定 origin 下的任意 browsing context 來訂閱它。它允許同源的不同瀏覽器窗口,Tab 頁,frame 或者 iframe 下的不同文檔之間相互通信。通過觸發一個 message 事件,消息可以廣播到所有監聽了該頻道的 BroadcastChannel 對象。

其實關鍵就幾個方法:

  • postMessage: 發送消息
  • onmessage: 接收消息
  • close: 停止監聽

圖片圖片

可以看到第二個 Tab 能接收到第一個 Tab 發出的消息。

圖片圖片

圖片圖片

那么我們現在可以用它來完成兩邊數據的同步了。

實現了我們想要的效果!

圖片圖片

圖片圖片

Service Worker

Service Worker 本質上充當 Web 應用程序、瀏覽器與網絡(可用時)之間的代理服務器。這個 API 旨在創建有效的離線體驗,它會攔截網絡請求并根據網絡是否可用來采取適當的動作、更新來自服務器的資源。它還提供入口以推送通知和訪問后臺同步 API。

首先在 public 文件夾下新建一個 sw.js。

圖片圖片

重點就是幾個方法:

  • register: 注冊 Service Worker
  • postMessage: 發送消息
  • onmessage: 接收消息

首先在頁面中注冊這個 Service Worker,這樣才能確保通過 Service Worker 來進行發消息和接收消息。

圖片圖片

圖片圖片

接下來進行消息發送和消息接收:

圖片圖片

達到了想要的同步效果:

圖片圖片

LocalStorage + onstorage

當我們在同域同源下,修改 LocalStorage 的時候,會觸發同域同源下 window.onstorage 訂閱函數。

我們可以利用這個特性,實現不同 Tab 之間的通信,代碼如下:

圖片圖片

效果如下:

圖片圖片

open + postMessage

當你使用 window.open 打開另一個同源標簽頁時,可以使用 postMessage對這個新開的標簽頁進行通信,新標簽頁可以使用 addEventListener('message') 進行接收信息。

圖片圖片

可以達到我們想要的效果:

圖片圖片

責任編輯:武曉燕 來源: 前端之神
相關推薦

2014-12-25 09:41:15

Android加載方式

2023-05-30 08:38:25

MySQL數據庫日志

2025-02-18 16:27:01

2022-07-04 08:29:13

electron通信

2023-08-26 20:08:15

分庫分表Spring

2023-02-09 10:39:15

gRPC通信模式

2009-04-02 09:46:19

排名函數排序SQL 2005

2022-03-22 08:59:32

勒索軟件網絡安全網絡攻擊

2009-04-27 10:33:16

ASP.NET視圖狀態

2009-07-08 18:20:21

JDBC驅動

2023-11-06 07:50:00

RabbitMQ交換機

2024-03-20 15:33:12

2009-12-14 15:29:48

解決方案SOA安全

2020-04-07 10:05:34

React開發工具

2009-03-31 13:12:30

解析XMLJava

2022-03-11 12:31:04

Vue3組件前端

2017-02-28 14:28:37

數據跨庫分頁架構

2024-08-27 08:29:49

2021-08-25 12:55:33

Linuxcron

2013-07-26 16:38:54

OpenStackHadoop
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 男女羞羞视频在线观看 | 国产精品日韩欧美一区二区三区 | 国产69精品久久99不卡免费版 | 久久ww| 亚洲精品国产电影 | 国产精品久久久久久久免费大片 | 91亚洲精华国产 | 国产视频中文字幕 | 米奇狠狠鲁 | 伦理午夜电影免费观看 | 国产色| 韩国精品一区 | 国产亚洲精品久久午夜玫瑰园 | 精品伦精品一区二区三区视频 | 一区中文字幕 | 亚洲精品综合 | 国产精品久久久久久久久久久久午夜片 | 91 久久 | 91精品国产91久久久久游泳池 | 国产片侵犯亲女视频播放 | 欧美一级片在线看 | av免费入口 | 毛片免费在线观看 | 国产精品久久久久久福利一牛影视 | 大吊一区二区 | 超碰97人人人人人蜜桃 | 国产男女精品 | 成人av电影免费在线观看 | 久久久精品网站 | 国产美女永久免费无遮挡 | 国产丝袜一区二区三区免费视频 | 欧洲一区在线观看 | 国产一区二区三区免费视频 | 国产精品精品视频一区二区三区 | 天天爽夜夜操 | 日韩一区二区三区av | 伊人狠狠干| 午夜爱爱毛片xxxx视频免费看 | 中文字幕av一区二区三区 | 亚洲成人一区二区在线 | 国产精品国色综合久久 |