| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1693 人关注过本帖
标题:vfp WebView2 Demo (更新 2023.02.11)
只看楼主 加入收藏
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
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)



搜索更多相关主题的帖子: web JS 打开 页面 通信 
2023-02-11 15:17
asonglinux
Rank: 1
等 级:新手上路
帖 子:4
专家分:4
注 册:2021-12-15
收藏
得分:4 
多谢大佬!!!!!
2023-02-11 15:24
iswith
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:328
专家分:493
注 册:2013-5-14
收藏
得分:4 
很强大了!有些函数如果可以的话,尽量都加上来!你可以搞一个通道用不着每个函数做一次封装!版主大人试试win7可以吗?
2023-02-11 15:34
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用iswith在2023-2-11 15:34:24的发言:

很强大了!有些函数如果可以的话,尽量都加上来!你可以搞一个通道用不着每个函数做一次封装!版主大人试试win7可以吗?

这个与VFP通常用到的COM不一样,全部开放的只有接口,未见到有类对象。
要封装成一个类,给个类对象VFP用就体贴点。但这样封装代码要复杂点,执行起来没那么直接、快捷。
简单使用就没什么必要搞那么大阵仗,WebView2有好几百个功能模块,用到的抽几个出来就好了。
简单浏览还可以,或者当专用浏览器。
VFP使用他主要是与WEB通信功能,用他来做VFP的UI也可以,这样VFP的Unicode就没问题了。


2023-02-11 16:14
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用iswith在2023-2-11 15:34:24的发言:

版主大人试试win7可以吗?

没用过win7,现在最低也要win10了吧。
可以参考官方信息,试试安装较低版本的 Edge 和 Edge WebView2 Runtime
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

2023-02-11 16:17
igaoyuan
Rank: 2
等 级:论坛游民
帖 子:99
专家分:98
注 册:2022-12-19
收藏
得分:4 
以下是引用吹水佬在2023-2-11 16:14:43的发言:
VFP使用他主要是与WEB通信功能,用他来做VFP的UI也可以,这样VFP的Unicode就没问题了。

吹版厉害!这就是VFP版谷歌内核的浏览器啊!能把edit控件或是备注字段内容当网页解码应用就更丰富了!unicode就更不是问题了!
2023-02-11 16:55
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用igaoyuan在2023-2-11 16:55:03的发言:


吹版厉害!这就是VFP版谷歌内核的浏览器啊!能把edit控件或是备注字段内容当网页解码应用就更丰富了!unicode就更不是问题了!

不要去折腾VFP那套桌面UI了,现在流行玩JS库的东西。
VFP要玩JS库的东西首先就要VFP能与WEB通信,WebView2或能预见将来就是这意思。
2023-02-11 17:24
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用igaoyuan在2023-2-11 16:55:03的发言:

备注字段内容当网页解码应用就更丰富了!unicode就更不是问题了!

存储或转换unicode数据VFP没问题,主要是输入输出能支持unicode数据。
2023-02-11 17:27
laxjyj
Rank: 2
等 级:论坛游民
帖 子:9
专家分:51
注 册:2021-9-21
收藏
得分:4 
越来越好了,现在能获取到网页的cookies了吗?
2023-02-11 18:08
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10543
专家分:42958
注 册:2014-5-20
收藏
得分:0 
以下是引用laxjyj在2023-2-11 18:08:39的发言:

越来越好了,现在能获取到网页的cookies了吗?

没做cookie部份,一般浏览无相干,要看某Cookie可以用DevTools。
图片附件: 游客没有浏览图片的权限,请 登录注册

WebView2有几个Cookie相关的接口:
ICoreWebView2Cookie
ICoreWebView2CookieList
ICoreWebView2CookieManager



[此贴子已经被作者于2023-2-11 18:25编辑过]

2023-02-11 18:20
快速回复:vfp WebView2 Demo (更新 2023.02.11)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027803 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved