返回顶部
首页 > 资讯 > 精选 >postMessage的几种使用方式
  • 637
分享到

postMessage的几种使用方式

方式 2023-09-15 11:09:04 637人浏览 独家记忆
摘要

postMessage函数是用来在两个窗口之间进行通信的方法,可以在不同窗口之间传递消息。它有几种使用方式:1. 单向通信:在一个窗

postMessage函数是用来在两个窗口之间进行通信的方法,可以在不同窗口之间传递消息。它有几种使用方式:
1. 单向通信:在一个窗口中调用postMessage函数发送消息,另一个窗口通过监听message事件来接收消息。示例代码如下:
发送消息的窗口:
```javascript
window.postMessage('Hello', 'https://example.com');
```
接收消息的窗口:
```javascript
window.addEventListener('message', function(event) {
if (event.origin === 'Https://example.com') {
console.log(event.data); // 输出: Hello
}
});
```
2. 双向通信:在两个窗口之间建立一个通信通道,可以通过该通道双向传递消息。示例代码如下:
窗口1:
```javascript
var channel = new MessageChannel();
var iframe = document.querySelector('iframe');
iframe.contentWindow.postMessage('Hello', '*', [channel.port1]);
channel.port2.addEventListener('message', function(event) {
console.log(event.data); // 输出: World
});
channel.port2.start();
```
窗口2(iframe的src为同域的页面):
```javascript
window.addEventListener('message', function(event) {
if (event.source === iframe.contentWindow) {
event.ports[0].postMessage('World');
}
});
```
3. 在同一个窗口中的不同上下文之间通信:在同一个窗口中的不同上下文之间可以使用postMessage函数进行通信。示例代码如下:
窗口1(主窗口和iframe中的脚本不同源):
```javascript
window.addEventListener('message', function(event) {
if (event.origin === 'https://example.com') {
console.log(event.data); // 输出: Hello
}
});
var iframe = document.querySelector('iframe');
iframe.contentWindow.postMessage('Hello', 'https://example.com');
```
窗口2(iframe中的脚本):
```javascript
window.parent.postMessage('Hello', '*');
```
这些是postMessage的几种常见使用方式,可以根据具体需求选择合适的方式进行通信。

--结束END--

本文标题: postMessage的几种使用方式

本文链接: https://lsjlt.com/news/408472.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • postMessage的几种使用方式
    postMessage函数是用来在两个窗口之间进行通信的方法,可以在不同窗口之间传递消息。它有几种使用方式:1. 单向通信:在一个窗...
    99+
    2023-09-15
    方式
  • postMessage的两种使用方式
    postMessage是一个用于跨窗口通信的方法,它有两种使用方式:1. 发送消息给指定窗口:可以使用postMessage方法将消...
    99+
    2023-08-15
    postMessage
  • postMessage的使用方式有哪些
    postMessage的使用方式有以下几种:1. 在页面中使用:可以在页面中通过JavaScript代码调用postMessage方...
    99+
    2023-08-15
    postMessage
  • hive的使用方式有几种
    这篇文章主要为大家展示了“hive的使用方式有几种”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hive的使用方式有几种”这篇文章吧。Hive有三种使用方式——CLI命令行,HWI(hie we...
    99+
    2023-06-03
  • Python Requests使用Cookie的几种方式
    Requests使用Cookie的几种方式 一、通过headers参数使用二、通过cookies参数使用三、通过Session会话使用方式0:自动设置方式1:通过key设置方式2:通过set ...
    99+
    2023-09-06
    python
  • C# 使用多线程的几种方式
    在C#中,有几种方式可以使用多线程:1. 使用Thread类:可以创建一个新线程并在其中执行指定的方法。可以使用Thread类来启动...
    99+
    2023-09-15
    C#
  • 浅谈go中cgo的几种使用方式
    目录最简单的CGO程序源码方式调用C函数内部机制编译和链接参数编译参数:CFLAGS/CPPFLAGS/CXXFLAGS链接参数:LDFLAGS通过静态库的方式调用C函数通过动态库的...
    99+
    2024-04-02
  • Python Requests使用Cookie的几种方式详解
    目录前言一、通过headers参数使用二、通过cookies参数使用三、通过Session会话使用方式0:自动设置方式1:通过key设置方式2:通过set 方法设置方式3:通过 ad...
    99+
    2023-08-08
    python requests cookie python cookie
  • Python调用shell的几种方式
    1.cmd = "some unix command" retcode = subprocess.call(cmd,shell=True)2.ssh = paramiko.SSHClient() ssh.connect(server, us...
    99+
    2023-01-31
    几种 方式 Python
  • Python numpy下几种fft函数的使用方式
    目录fftrfftfftfreqifftirfft总结numpy下fft模块提供了丰富的fft函数,几种常用的在这里记录一下使用方式 fft 输入实数samples,如果输入的sam...
    99+
    2024-04-02
  • List使用stream流转成map的几种方式
    List使用stream流转成map的几种方式 实体例子List 转成MapList 转成MapList 转成Map方法一:方法二: List 转成MapList 转成MapList 转成MapList 转成MapList 转成...
    99+
    2023-08-25
    list json java
  • vue引用组件的几种方式
    vue引用组件有3种方式:1、通过v-model或者.sync显式控制组件显示隐藏;2、使用js代码进行引用组件;3、使用Vue指令进行引用组件。具体分析如下:Dialog我习惯把这个东西叫做对话框,实际上还有叫做modal(弹窗)组件的 ...
    99+
    2024-04-02
  • Redis常见的几种使用方式及优缺点
    这篇文章主要介绍“Redis常见的几种使用方式及优缺点”,在日常操作中,相信很多人在Redis常见的几种使用方式及优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2024-04-02
  • SpringBoot+Mybatis使用Mapper接口注册的几种方式
    目录I.环境准备1.数据库准备2.项目环境II.实例演示1.实体类,Mapper类2.注册方式2.1@MapperScan注册方式2.2@Mapper注册方式2.3MapperSca...
    99+
    2024-04-02
  • Spring创建bean的几种方式及使用场景
    目录1、@Configuration注解2、@Bean注解3、@Import注解3.1、导入标记有@Configuration的配置类3.2、导入ImportSelector的实现类...
    99+
    2023-05-18
    Spring创建bean Spring bean
  • 异步编程的几种方式,你知道几种?
    异步执行对于开发者来说并不陌生,在实际的开发过程中,很多场景多会使用到异步,相比同步执行,异步可以大大缩短请求链路耗时时间。比如:「发送短信、邮件、异步更新等」,这些都是典型的可以通过异步实现的场景。异步的8种实现方式 1、线程Thread...
    99+
    2023-08-15
  • Python _取log的几种方式
    1. 使用.logfile 方法 #!/usr/bin/env python import pexpect import sys host="146.11.85.xxx" user="inteuser" password="xxx...
    99+
    2023-01-31
    几种 方式 Python
  • mysql分页的几种方式
    mysql 分页有四种方法:1. limit 子句(指定起始行和行数);2. offset 子句(指定行偏移量和行数);3. 子查询(使用一个查询筛选另一个查询);4. 游标(逐行遍历数...
    99+
    2024-08-01
    mysql
  • java方法调用的方式有哪几种
    在Java中,方法调用的方式主要有以下几种: 直接调用:直接在代码中使用方法名和参数调用方法。 通过对象调用:通过对象名调用对象的...
    99+
    2024-03-11
    java
  • Python调用API接口的几种方式
    Python调用API接口的几种方式主要有以下几种:1. 使用标准库:Python标准库中的urllib和urllib2模块可以用来...
    99+
    2023-09-02
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作