Skip to content

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

基于 VB6组件 发布