WebView2 控件设置与配置参考
基础设置
IsScriptEnabled 属性
- 描述:控制是否启用JavaScript
- 类型:Boolean
- 示例:
vb
' 禁用JavaScript
WebView21.IsScriptEnabled = False
' 启用JavaScript并执行脚本
WebView21.IsScriptEnabled = True
WebView21.ExecuteScript "alert('JavaScript已启用')"
IsWebMessageEnabled 属性
- 描述:控制是否启用 PostWebMessage 功能
- 类型:Boolean
- 示例:
vb
' 启用消息功能
WebView21.IsWebMessageEnabled = True
' 发送消息示例
Private Sub SendMessageToWebPage()
If WebView21.IsWebMessageEnabled Then
WebView21.PostWebMessage "Hello World"
End If
End Sub
ZoomFactor 属性
- 描述:获取或设置页面缩放比例
- 类型:Double
- 示例:
vb
' 放大页面 50%
WebView21.ZoomFactor = 1.5
' 缩小页面到 75%
WebView21.ZoomFactor = 0.75
' 恢复正常大小
WebView21.ZoomFactor = 1.0
' 创建缩放控制器
Private Sub ZoomIn()
WebView21.ZoomFactor = WebView21.ZoomFactor * 1.2
End Sub
Private Sub ZoomOut()
WebView21.ZoomFactor = WebView21.ZoomFactor / 1.2
End Sub
IsZoomControlEnabled 属性
- 描述:控制用户是否可以使用 Ctrl++/Ctrl+-/Ctrl+鼠标滚轮 来缩放页面
- 类型:Boolean
- 示例:
vb
' 禁用用户缩放控制
WebView21.IsZoomControlEnabled = False
' 启用用户缩放控制并设置初始缩放级别
Private Sub EnableUserZoom()
WebView21.IsZoomControlEnabled = True
WebView21.ZoomFactor = 1.0
End Sub
界面设置
IsStatusBarEnabled 属性
- 描述:控制是否显示状态栏
- 类型:Boolean
- 示例:
vb
' 隐藏状态栏
WebView21.IsStatusBarEnabled = False
' 根据用户选择显示/隐藏状态栏
Private Sub chkStatusBar_Click()
WebView21.IsStatusBarEnabled = chkStatusBar.Value
End Sub
AreDefaultContextMenusEnabled 属性
- 描述:控制是否启用默认的右键菜单
- 类型:Boolean
- 示例:
vb
' 禁用默认右键菜单,使用自定义菜单
WebView21.AreDefaultContextMenusEnabled = False
' 处理自定义右键菜单
Private Sub WebView21_UserContextMenu(X As Single, Y As Single)
PopupMenu mnuCustomContext, , X, Y
End Sub
AreDevToolsEnabled 属性
- 描述:控制用户是否可以通过菜单或快捷键打开开发者工具
- 类型:Boolean
- 示例:
vb
' 禁用开发者工具访问
WebView21.AreDevToolsEnabled = False
' 在调试模式下启用开发者工具
#If DEBUG Then
WebView21.AreDevToolsEnabled = True
#End If
安全设置
AreHostObjectsAllowed 属性
- 描述:控制是否允许将COM对象暴露给JavaScript引擎
- 类型:Boolean
- 示例:
vb
' 启用COM对象共享
WebView21.AreHostObjectsAllowed = True
' 安全模式:禁用COM对象共享
Private Sub EnableSecureMode()
WebView21.AreHostObjectsAllowed = False
WebView21.AreDefaultScriptDialogsEnabled = False
WebView21.AreDevToolsEnabled = False
End Sub
AreDefaultScriptDialogsEnabled 属性
- 描述:控制是否启用默认的脚本对话框(如alert、confirm、prompt)
- 类型:Boolean
- 示例:
vb
' 禁用默认对话框,使用自定义实现
WebView21.AreDefaultScriptDialogsEnabled = False
' 自定义对话框处理
Private Sub WebView21_ScriptDialogOpening(ByVal ScriptDialogKind As wv2ScriptDialogKind, _
ByRef Accept As Boolean, ByVal ResultText As String, ByVal URI As String, _
ByVal Message As String, ByVal DefaultText As String)
Select Case ScriptDialogKind
Case wv2ScriptDialogKind.wv2ScriptDialogKindAlert
MsgBox Message, vbInformation, "网页消息"
Accept = True
End Select
End Sub
用户代理设置
UserAgent 属性
- 描述:设置或获取UserAgent字符串
- 要求:需要 SupportsUserAgentFeatures 支持
- 类型:String
- 示例:
vb
' 检查是否支持UserAgent设置
If WebView21.SupportsUserAgentFeatures Then
' 设置自定义UserAgent
WebView21.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " & _
"AppleWebKit/537.36 (KHTML, like Gecko) " & _
"Chrome/91.0.4472.124 Safari/537.36 MyApp/1.0"
End If
' 创建移动设备UserAgent
Private Sub SetMobileUserAgent()
If WebView21.SupportsUserAgentFeatures Then
WebView21.UserAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) " & _
"AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 " & _
"Mobile/15E148 Safari/604.1"
End If
End Sub
自动填充设置
IsPasswordAutoSaveEnabled 属性
- 描述:控制是否启用密码自动保存功能
- 要求:需要 SupportsAutoFillFeatures 支持
- 类型:Boolean
- 示例:
vb
' 检查并配置自动填充功能
Private Sub ConfigureAutoFill()
If WebView21.SupportsAutoFillFeatures Then
' 出于安全考虑禁用密码保存
WebView21.IsPasswordAutoSaveEnabled = False
' 启用一般表单自动填充
WebView21.IsGeneralAutoFillEnabled = True
End If
End Sub
IsGeneralAutoFillEnabled 属性
- 描述:控制是否启用一般表单的自动填充功能
- 要求:需要 SupportsAutoFillFeatures 支持
- 类型:Boolean
- 示例:
vb
' 根据用户偏好设置自动填充
Private Sub SetAutoFillPreferences(ByVal EnableFormFill As Boolean, _
ByVal EnablePasswordSave As Boolean)
If WebView21.SupportsAutoFillFeatures Then
WebView21.IsGeneralAutoFillEnabled = EnableFormFill
WebView21.IsPasswordAutoSaveEnabled = EnablePasswordSave
End If
End Sub