更新日志

开发日志(Changelog)

版本 1.0.30 - 2024年12月18日

修改功能

1. 变更属性IsNewWindowToCurrent

原属性IsRedirectNewWindowToCurrentWindow太长了,改为IsNewWindowToCurrent

Private Sub Form_Load()
    WebView21.IsNewWindowToCurrent = True
End Sub    

版本 1.0.29 - 2024年12月17日

新增功能

1. querySelector 方法支持

  • WebView21 控件中实现了 querySelector 方法的支持,用于选择和操作页面中的 DOM 元素。此方法支持 CSS 选择器,能够精确定位单个元素,并对其进行修改。
  • 实现了对网页中多种类型 DOM 元素的操作,包括:
    • 获取文本内容 (Text 方法)
    • 获取和设置表单元素的值 (Value 方法)
    • 获取和设置元素的内部 HTML (Html 方法)
    • 获取和设置 DOM 元素属性 (Attr 方法)
    • 添加和移除 CSS 类 (ClassAddClassRemove 方法)
    • 获取和设置 CSS 样式 (Css 方法)

功能细节

  • Text 方法:支持获取和设置 DOM 元素的文本内容。例如,用户可以获取 span 标签的文本,也可以通过此方法修改该标签的文本内容。

  • Value 方法:支持获取和设置表单元素的值,如 <input> 标签的值。此方法可以用来修改文本框的内容,或获取输入框当前的内容。

  • Html 方法:支持获取和设置 DOM 元素的 HTML 内容。通过此方法,开发者可以修改元素的内部结构,包括文本、HTML 标签等。

  • Attr 方法:支持获取和设置 DOM 元素的属性值。例如,修改或读取 data-* 自定义属性。

  • ClassAddClassRemove 方法:提供了操作元素 class 属性的功能,开发者可以动态地为元素添加或移除 CSS 类名,实现样式的灵活变化。

  • Css 方法:支持获取和设置 DOM 元素的样式属性。此方法允许开发者动态修改元素的外观,比如改变颜色、显示状态等。

测试用例
get_text_Click 方法中,编写了以下常见的 DOM 操作测试用例,验证了 querySelector 方法与各个成员函数的配合使用:

  • 获取并设置文本内容:通过 Text 方法获取和设置网页元素的文本。
  • 获取和设置输入框的值:通过 Value 方法来获取或设置 <input> 元素的值。
  • 获取和修改 HTML 内容:使用 Html 方法修改页面元素的 HTML。
  • 修改元素的属性值:通过 Attr 方法来获取或设置属性,例如 data-* 属性。
  • 动态操作 CSS 类:通过 ClassAddClassRemove 方法来动态添加或移除类名。
  • 操作 CSS 样式:使用 Css 方法获取和设置元素的样式属性。

已知问题

  • 由于 querySelector 只返回页面中的第一个匹配元素,若需要操作多个元素,需使用 querySelectorAll 方法。
  • 在某些情况下,操作异步加载的页面时,DOM 元素可能未及时加载完成,可能需要添加等待机制。

改进计划

  • 将在下一个版本中增加 querySelectorAll 方法的支持,方便批量操作多个匹配元素。
  • 增强对动态内容加载的处理,确保在页面加载完成后再进行 DOM 操作。

2. 新增 IsRedirect... 属性

该属性IsRedirectNewWindowToCurrentWindow允许把网页中产生的所有新窗口弹出行为重定向到当前页面,确保网页一直在当前窗口控制中
(v1.0.30中改名为IsNewWindowToCurrent)

Private Sub Form_Load()
    WebView21.IsRedirectNewWindowToCurrentWindow = True
End Sub

修正功能

3. WebView21_Ready 事件修正

之前版本没有办法在窗体和控件初始化后自动打开指定网站, 修正了这个事件之后就可以了

Private Sub WebView21_Ready()
    WebView21.Navigate "http://doc.vb6.pro"
End Sub

以上是基于 get_text_Click 方法中使用的 querySelector 和其相关成员函数的开发日志。如果你需要更详细的日志或进一步的版本记录,请随时告诉我!

版本 1.0.2 - 2024年12月06日

  • 修复 多个事件没有触发的问题
  • 新增 Re