

WebView2简单试用(七)—— WebMessage
source link: https://www.cnblogs.com/TianFang/p/14375713.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

之前文章中介绍过通过JS实现WebView2宿主程序和前端页面进行通信的方法。在WebView2中,更加通用而高效的方式是WebMessage,它是一个异步的消息通信,并且支持双向通信,本文这里简单的介绍下其用法。
前端页面发送消息给宿主程序:
首先,在WebView中定义接收到消息的处理函数:
webView.WebMessageReceived += (s, e) =>
{
MessageBox.Show(e.WebMessageAsJson);
};
PS:这个事件在CoreWebView2上也有,使用效果是一样的。
然后,在前端脚本中发送消息:
chrome.webview.postMessage('hello world')
执行效果如下:
宿主程序发消息给前端页面:
首先,前端注册消息的处理函数:
chrome.webview.addEventListener('message', event => alert(event.data));
然后,CoreWebView2.PostWebMessageAsXXX函数发送消息
webView.CoreWebView2.PostWebMessageAsString("hello world");
执行效果如下:
禁用WebMessage:
如果为了安全起见,也可以通过设置将其禁用:
webView.CoreWebView2.Settings.IsWebMessageEnabled = false;
参考文章:
Recommend
-
7
2018-08-16iOS美团开源了船新的响应式框架 EasyReact,GayHub地址:
-
11
Linux Perf 简单试用 发表于 2019-04-05...
-
18
WebView2简单试用(九)—— Dev Protocol 有的时候,我们需要实现一些更为高级的操作,以提供更个性化的功能。常用的注入...
-
19
WebView2简单试用(四)—— 使用固定版本的Edge Runtime Edge Runtime支持两种模式:长绿(All Green)和固定版本(Fixed...
-
10
WebView2简单试用(六)—— 常用设置 初始化时设置 WebView2的初始化方式如下: var env = await Co...
-
4
WebView2简单试用(二)—— 基本操作 前文中简单的介...
-
18
WebView2简单试用(五)—— 自定义用户数据文件夹 默认情况下,WebView2程序的用户数据是按程序独立存储的:
-
12
WebView2简单试用(三)—— 新窗口打开页面的处理 当我们进行页面跳转的时候,有的时候回使用新窗口打开,WebView2会弹出...
-
27
WebView2简单试用(一)—— 开始 WebView2控件现在已经正式发布了,准备写一系列文章简单的介绍下,本文简单的先介绍下安...
-
8
WebView2简单试用(八)—— 右键菜单 默认菜单: WebView2本身携带了类似Edge的右键菜单,但有的时候我们需要对...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK