如何让Electron和Webview通信

1,544 阅读1分钟

当PC端加载内嵌H5页面的时候,会把request,response,subscribe,和publish的方法挂载到H5的window对象上.

H5可以直接通过订阅,请求来与PC端通信,通信包括, 订阅监听和同步请求响应/异步请求相应

                                                      

订阅

订阅为全局订阅,H5会持续监听PC端传过来的消息.

参数:

service:string 服务

返回:

json:object

const unsubscribePing=subscribe(service, (event, json) => {

console.log('ok',json);

})

取消订阅

订阅的时候会返回取消订阅的方法.调用这个方法来取消订阅

unsubscribePing()

取消指定/全部订阅

手动调用unsubscribe来取消订阅

可选参数: 如果不传会取消所有订阅

service:string 服务

unsubscribe(service)

发布

参数

service:string 服务

json: 传给pc端的参数

publish(service,json)

响应

参数

service:string 服务

json: pc端传过来的参数

function 回调

response(service,(event,json)=>{

console.log('ok', json); })

2种请求方法

同步回调请求

参数

service:string 服务

data:string | object 请求参数

function 回调

request(service, data, (event, json) => {

console.log('ok', json); })

异步请求

参数

service:string 服务

data:string | object 请求参数

返回 promise

const result=await request(service, data)

github:github.com/soymikey/el…

                                                Happy Coding~~