高安全环境下的使用

WebViewer是基于微软的webview2二次开发完成的,而webview2默认调用的是Windows的Edge浏览器。

在政企/金融等高安全环境,对于Edge浏览器的调用可能会被禁止,所以基于WebViewer开发的软件可能会运行失败。

解决的办法很简单:

1、在微软的官方网站下载webview2的运行库:

https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/?form=MA13LH#download

注意要下载固定版本,体系结构选择X86:

2、下载的运行库是一个cab格式的压缩文件,将所有文件解压到某个目录,例如"d:\webview2"。

3、在Foxtable修改代码,指定Edge可执行文件的目录,例如:

'''Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Dim
env As CoreWebView2Environment = Await CoreWebView2Environment.CreateAsync("d:\webview2") '指定Edge可执行文件所在目录
Await
wv.EnsureCoreWebView2Async(env) '按指定的Edge目录初始化浏览器
wv.CoreWebView2.Navigate(
"https://www.example.com/")

经过上述设置,即可绕开系统自带的Edge浏览器,甚至在没有安装Edge浏览器的电脑也能正常运行。

自动打包Webview2运行库

为方便最终用户,你可以将webview2运行库打包到你基于Foxtable开发的程序中,步骤为:

1、在项目文件目录中创建一个子目录WebView2

2、将WebView2的运行库解压到上述子目录中。

3、在发布项目窗口,添加上述子目录:

4、修改WebViewer的初始化代码:

'''Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Dim
env As CoreWebView2Environment = Await CoreWebView2Environment.CreateAsync(ProjectPath & "webview2") '指定Edge可执行文件所在目录
Await
wv.EnsureCoreWebView2Async(env) '按指定的Edge目录初始化浏览器
wv.CoreWebView2.Navigate(
"https://www.example.com/")

这样发布后的程序自带webview2运行库,直接复制到其他电脑即可运行,无需再手工操作。


本页地址:http://www.foxtable.com/webhelp/topics/7007.htm