打开网页

接下来的代码均假定你已在窗口插入了一个WebViewer控件,并在窗口的AfterLoad事件中加上了初始化代码:

'''Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Await
wv.EnsureCoreWebView2Async(Nothing) '初始化WebViewer,注意前面要加上Await

Navigate打开网页

大多数时候,我们用Navigate方法打开网页:

Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
wv.CoreWebView2.Navigate("https://www.example.com/")

打开本地文件

可以用Navigate打开本地文件,例如 :

Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
wv.CoreWebView2.Navigate(
"c:\abc\test.htm")

多行字符串

对于有一些简单的测试网页或html内容,我们可以直接写在代码中,而这些内容往往多行的。

如果要在代码中输入多行字符串,请使用下面的语法输入:

Dim html As String =<![CDATA[
第一行字符串
第二行字符串
第三行字符串
更多字符串...

]]>
.Value

请注意,第一行的<![CDATA[和最后一行的]]>.Value是语法要求,并不包括在字符串内容中,切记。

加载HTML字符串

利用
NavigateToString方法,可以直接加载HTML字符串:

Dim html As String = <![CDATA[
<!DOCTYPE html>
<html>
<head><title>
本地HTML</title></head>
<body>
<h1>
这是直接加载的HTML字符串</h1>
<p>
来自Foxtable的问候</p>
</body>
</html>
]]>
.Value
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
wv.NavigateToString(html)

有了这个方法,我们可以直接将设计好的网页存储在数据库中,然后根据需要查询加载。

当然也可以和示例代码一样,将网页直接嵌入到Foxtable的代码中,
未来多数测试网页都会用这种形式提供,因为更便于大家学习,实际开发的时候,网页和代码还是分离的比较好。

Source属性

WebViewer有个Soure属性,也可以用于打开网页:


wv.Source =
New Uri("https://www.example.com/")

Source其实就是Navigate的封装,所以一般推荐用Navigate或NavigateToString打开网页,而不是用Source。

但如果需要获得当前网址,则需要使用Source属性,注意Source的类型Uri,所以需要转转一下,例如:

Dim wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Dim
sr1 As String = wv.Source.ToString() '获得完整的网址,包括参数
Dim
sr2 As String = wv.CoreWebView2.Source '和上面等效
Dim
sr3 As String = wv.Source.Host '获得去掉参数后的网址,通常就是域名


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