-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[html] 第9天 浏览器内多个标签页之间的通信方式有哪些? #25
Comments
|
PostMessage: 曾经在项目中使用过: 在一个页面内加了一个iframe, 由于父页面要和iframe通信所以使用了这个方式 |
1:本地存储 |
|
完全答案 |
1.WebSocket (可跨域) |
|
不借助服务器支持的话:
|
1.websocket |
websocket协议、 |
完全答案 |
尝试过的 |
这个题目有些含糊,多个标签指的是在同一个域下的多个标签还是不同域下的多个标签。尝试回答下: 跨域
非跨域
|
localstorage |
1.WebSocket(可跨域)WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 2.postMessage(可跨域)window.postMessage()方法安全地启用Window对象之间的跨源通信。 3.SharedWorkerSharedWorker可以被多个window共用,所以可以用来跨页面传输数据,但必须保证这些标签页都是同源的(相同的协议,主机和端口号) 4.Server-Sent EventsHTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。 5.localStorage(可以添加事件监听)ocalstorage是浏览器多个标签共用的存储空间,所以可以用来实现多标签之间的通信,直接在window对象上添加监听即可。 ps:sessionStorage是会话级的存储空间,每个标签页都是单独的 6.CookiesCookies在同一个域名内,并且目录也得相同 7.BroadcastChannel(Chrome商店的api)只要是在同一原始域和用户代理下,所有窗口、iframe之间都可以进行交互。感觉就类似于广播。 |
cookie,localstorage实现标签间的存储 |
1.localStorage |
websocket |
|
1.BroadCast Channel:使用Broadcast Channel API可以在不同的浏览器上下文之间进行消息广播和接收。通过创建一个广播频道,并在不同的标签页中监听该频道,可以实现跨标签页通信。 |
第9天 浏览器内多个标签页之间的通信方式有哪些?
The text was updated successfully, but these errors were encountered: