浏览器内多个标签页之间的通信方式有哪些?
传递方式
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详情
浏览器内多个标签页之间的通信方式有哪些?相关推荐
- [html] 浏览器内多个标签页之间的通信方式有哪些?
[html] 浏览器内多个标签页之间的通信方式有哪些? 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题
- .如何实现浏览器内多个标签页之间的通信?
WebSocket.SharedWorker: 也可以调用 localstorage.cookies 等本地存储方式: WebSockets WebSockets 是一种先进的技术.它可以在用户的浏览 ...
- 2021前端面试题系列:fetch与axios、浏览器内多个标签页面通信及安全问题
大家好,我是前端岚枫,今天主要跟大家分享我整理的笔记2021前端面试题系列:fetch与axios.浏览器内标签页之间的通讯方法.XSS 和CSRF以及如何防范,此方面内容在我们的工作中常用到, 也是 ...
- 实现多个标签页之间通信的几种方法
示例地址 prologue 之前在网上看到一个面试题:如何实现浏览器中多个标签页之间的通信.我目前想到的方法有三种:使用websocket协议.通过localstorage.以及使用html5浏览器的 ...
- 浏览器中新开标签页(Tab)
#!usr/bin/env python #-*- coding:utf-8 -*- """ ab @author: sleeping_cat @Contact : zw ...
- Edge浏览器使用 Infinity 新标签页 (Pro)插件
Edge浏览器安装Infinity 新标签页 (Pro)插件后,浏览器界面如下: 当关闭浏览器,再次打开时,界面又还原为: 这时我们点击浏览器右上角的3个点,在弹出界面点击"设置" ...
- gunicorn多进程不死_WEB,gunicorn - 无论是多进程、多线程、协程模式,同一个浏览器窗口多个标签页访问同一个url,看上去不会并发的问题...
TL;DR 其实是浏览器同一个窗口下限制了对同一个url会执行串行操作. 1.参考 2.现象 我有一个WSGI APP,每次处理request都睡眠5秒.不管多进程.多线程.协程跑WSGI APP,同 ...
- 怎样在iPhone、iPad上的Safari浏览器中快速关闭所有标签页?
Safari 是 iPhone 上使用最广泛的网络浏览器,可以在 iPhone 和 iPad 上的 Safari 中轻松打开额外的标签页,也可以一次关闭所有标签页.如何快速做到这一点,而不必一一关闭它 ...
- webdriver高级应用- 浏览器中新开标签页(Tab)
#encoding=utf-8 import unittest from selenium import webdriver import time import win32api, win32con ...
最新文章
- Maven工程引入jar包(转)
- Windows下Git Bash的基本使用
- 已拿30K offer!感谢这几个公众号提供的各种学习教程
- mysql查询网址_bootstrap+flask+mysql实现网站查询
- svn服务器会用到哪些端口_“模切压痕”会用到哪些材料?
- opencv 绘制图像直方图,实现直方图均衡化
- 大学生必备的几个公众号
- WINDOWS杀进程的命令
- Python敏感词过滤DFA算法+免费附带敏感词库
- Office Tool Plus 安装2019版Office及Visio
- springboot获取到的MySQL数据少了8小时
- RabbitMQ配置SSL
- 驻点(稳定点,临界点,要求平滑) 极值点 拐点 保号性及证明
- java中线,使用Voronoi图查找多边形的中线
- 使用SketchUp制作球体的方法(图文教程)
- 阿里实习生java面试
- 仿京东收货地址三级联动
- 2020年11月份某kh比赛部分CTF赛题求大佬解题思路
- 【判断蜂蜜真伪的简单方法】
- B. Fridge Lockers