传递方式

1.WebSocket (可跨域)

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

2.postMessage(可跨域)

window.postMessage()方法安全地启用Window对象之间的跨源通信。

对将接收消息的窗口的引用,获得此类引用的方法包括:

1.iframe标签

2.Window.open (生成一个新窗口然后引用它)

3.Window.opener (引用产生这个的窗口)

3.SharedWorker

4.Server-Sent Events

以上的传递方法仅供了解几乎很少使用到

5.localStorage(可以添加事件监听)

localstorage是浏览器多个标签共用的存储空间,所以可以用来实现多标签之间的通信(ps:session是会话级的存储空间,每个标签页都是单独的)。 直接在window对象上添加监听即

​
//在同源的两个页面中,可以监听 storage 事件window.addEventListener("storage", function (e) {alert(e.newValue);});​
//在同一个页面中,对 localStorage 的 setItem 方法进行重写var orignalSetItem = localStorage.setItem;localStorage.setItem = function(key,newValue){var setItemEvent = new Event("setItemEvent");setItemEvent.newValue = newValue;window.dispatchEvent(setItemEvent);orignalSetItem.apply(this,arguments);}window.addEventListener("setItemEvent", function (e) {alert(e.newValue);});localStorage.setItem("name","wang");});

6.Cookies

Cookies在同一个域名内,并且目录也得相同,可以参考第三方库

cookies详情

浏览器内多个标签页之间的通信方式有哪些?相关推荐

  1. [html] 浏览器内多个标签页之间的通信方式有哪些?

    [html] 浏览器内多个标签页之间的通信方式有哪些? 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

  2. .如何实现浏览器内多个标签页之间的通信?

    WebSocket.SharedWorker: 也可以调用 localstorage.cookies 等本地存储方式: WebSockets WebSockets 是一种先进的技术.它可以在用户的浏览 ...

  3. 2021前端面试题系列:fetch与axios、浏览器内多个标签页面通信及安全问题

    大家好,我是前端岚枫,今天主要跟大家分享我整理的笔记2021前端面试题系列:fetch与axios.浏览器内标签页之间的通讯方法.XSS 和CSRF以及如何防范,此方面内容在我们的工作中常用到, 也是 ...

  4. 实现多个标签页之间通信的几种方法

    示例地址 prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信.我目前想到的方法有三种:使用websocket协议.通过localstorage.以及使用html5浏览器的 ...

  5. 浏览器中新开标签页(Tab)

    #!usr/bin/env python #-*- coding:utf-8 -*- """ ab @author: sleeping_cat @Contact : zw ...

  6. Edge浏览器使用 Infinity 新标签页 (Pro)插件

    Edge浏览器安装Infinity 新标签页 (Pro)插件后,浏览器界面如下: 当关闭浏览器,再次打开时,界面又还原为: 这时我们点击浏览器右上角的3个点,在弹出界面点击"设置" ...

  7. gunicorn多进程不死_WEB,gunicorn - 无论是多进程、多线程、协程模式,同一个浏览器窗口多个标签页访问同一个url,看上去不会并发的问题...

    TL;DR 其实是浏览器同一个窗口下限制了对同一个url会执行串行操作. 1.参考 2.现象 我有一个WSGI APP,每次处理request都睡眠5秒.不管多进程.多线程.协程跑WSGI APP,同 ...

  8. 怎样在iPhone、iPad上的Safari浏览器中快速关闭所有标签页?

    Safari 是 iPhone 上使用最广泛的网络浏览器,可以在 iPhone 和 iPad 上的 Safari 中轻松打开额外的标签页,也可以一次关闭所有标签页.如何快速做到这一点,而不必一一关闭它 ...

  9. webdriver高级应用- 浏览器中新开标签页(Tab)

    #encoding=utf-8 import unittest from selenium import webdriver import time import win32api, win32con ...

最新文章

  1. Maven工程引入jar包(转)
  2. Windows下Git Bash的基本使用
  3. 已拿30K offer!感谢这几个公众号提供的各种学习教程
  4. mysql查询网址_bootstrap+flask+mysql实现网站查询
  5. svn服务器会用到哪些端口_“模切压痕”会用到哪些材料?
  6. opencv 绘制图像直方图,实现直方图均衡化
  7. 大学生必备的几个公众号
  8. WINDOWS杀进程的命令
  9. Python敏感词过滤DFA算法+免费附带敏感词库
  10. Office Tool Plus 安装2019版Office及Visio
  11. springboot获取到的MySQL数据少了8小时
  12. RabbitMQ配置SSL
  13. 驻点(稳定点,临界点,要求平滑) 极值点 拐点 保号性及证明
  14. java中线,使用Voronoi图查找多边形的中线
  15. 使用SketchUp制作球体的方法(图文教程)
  16. 阿里实习生java面试
  17. 仿京东收货地址三级联动
  18. 2020年11月份某kh比赛部分CTF赛题求大佬解题思路
  19. 【判断蜂蜜真伪的简单方法】
  20. B. Fridge Lockers

热门文章

  1. 调试心得plc做主站(客户端)
  2. 如何爬取新三板数据库(一)
  3. java word 题目导入_Java导入导出Excel和Word
  4. 怎样从旧版本激活TeamViewer新版本界面?
  5. ​K歌中的歌唱评价与嗓音分析
  6. java如何给数组初始化?
  7. linux ipp,IPP 文件扩展名: 它是什么以及如何打开它?
  8. 单系统 台电x80pro_台电X80 Pro (E6E9)-双系统安装文件平板固件
  9. The Apache Way - 开源项目
  10. 腾讯和蘑菇街的面试总结