vfp WebView2 Demo (更新 2023.02.11)
基本内容请参阅:https://bbs.bccn.net/thread-511234-1-1.html更新主要是增加导航功能和与web页面通信。
一、导航,打开页面事件和地址的收藏和当前历史,便捷浏览。
1、打开页面事件:
1) OnNavigationCompleted ... 页面加载完成或加载出错停止事件
2) OnNewWindowRequested .... 新窗口事件
(1) 收到要打开的页面地址 url
(2) 可返回指令控制新窗口,设置handled:0开新窗口打开、1在当前页面窗口打开、2不打开
二、通信,与web页面通信:
1、注入JS代码在web页面顶层运行。
测试:
jsCode = "document.body.innerHTML='运行JS代码'"
WebView_ExecuteScript(STRCONV(jsCode+0h00,5))
2、通过OnWebMessageReceived事件,响应由web页面JS运行 window.chrome.webview.postMessage()函数发送的内容。
测试方式:
1) 模拟web页面运行JS代码:window.chrome.webview.postMessage()
jsCode = "window.chrome.webview.postMessage('web与主机通信')"
WebView_ExecuteScript(STRCONV(jsCode+0h00,5))
2) 用“开发者工具”(Devtools)的控制台在页面输入JS代码。
(1) 打开Devtools,右点击页面空白区域,在弹出菜单中选择“检查”。
(2) 选择Devtools的“控制台”
输入JS代码:window.chrome.webview.postMessage('web与主机通信')
VFP就会收到如下信息
3) 在HTML文件中用JS代码 window.chrome.webview.postMessage("通信内容")发送给VFP
打包下载:
vfp_WebView2_Demo.2023.02.11.rar
(128.62 KB)