List icon 目录

发布日期 2017年1月28日

JxBrowser 6.13

JxBrowser 6.13 包含多项新功能,例如允许以编程方式触发 DOM 事件和配置 WebRTC IP 处理策略的功能。我们还通过实现用户请求的修复来不断改进该库。

创建和分发 DOM 事件

在此版本中,JxBrowser 的 DOM 事件 API 扩展了新的方法和类,允许在指定的 HTML 元素上创建和触发 DOM 事件。从 v6.13 开始,JxBrowser 支持 EventUIEventMouseEventKeyEvent DOM 事件。要分发事件,请使用 DOMEventTarget.dispatchEvent(DOMEvent event) 方法。

WebRTC IP 处理策略

BrowserPreferences 类扩展了 setWebRTCIPHandlingPolicy(WebRTCIPHandlingPolicy policy) 方法,允许配置 WebRTC IP 处理策略。支持的策略列表可以在 WebRTCIPHandlingPolicy 枚举中找到。

旧版 JRE 中无需担心操作系统检测问题

环境验证算法得到了改进。JxBrowser 通过标准 Java 系统属性(如 "os.name""os.version")来检测操作系统名称和版本。旧版 JRE(如 1.6)无法识别现代操作系统,并将其检测为 "Windows NT (unknown)",这会导致 "com.teamdev.jxbrowser.chromium.internal.EnvironmentException: Unsupported operating system. Supported OS: Windows 7, 8, 10, Windows Server 2008 R2, 2012, 2016, macOS 10.9+ & Linux. Current OS: Windows NT (unknown), version: 6.2" 异常。之前的解决方法是手动将 "os.name" 设置为包含支持操作系统名称的字符串,如 “Windows 7” 或 “Windows Server 2016”。这种解决方法对 JxBrowser 客户来说并不方便。

在此次更新中,我们降低了环境验证的强度。现在,JxBrowser 只检查支持的最低操作系统和 JRE 版本。这使得在现代操作系统(如 Windows Server 2016)上使用旧版 JRE(如 1.6)时,不再需要任何解决方法或对 "os.name" 系统属性进行操作。

改进

以下功能在 v6.13 中得到了改进:

  • 在重量级渲染模式下支持 JAWS。
  • 在 Windows、macOS 和 Linux 平台上的内存使用情况。我们发现并解决了与轻量级渲染模式、虚拟内存使用、内部 IPC 实现、JNI 代码等相关的多个内存泄漏问题。

修复

在此次更新中解决了以下问题:

  • 修复了 macOS 和 Windows 平台上在 Swing 和 JavaFX 视图中拖放时出现的死锁问题。该问题是由于轻量级渲染模式下 Java 端拖放实现中的逻辑错误引起的。
  • 修复了重渲染模式下鼠标和键盘事件不触发的回归问题。该问题在升级到 Chromium 55 后出现。现在,此功能与基于之前 Chromium 构建的旧版 JxBrowser 一样正常工作。
  • 修复了 BrowserView 失去焦点时 onblur 事件不触发的问题。
  • 修复了加载 HTTPS 网页时抛出 “java.lang.IllegalArgumentException: The certificateStr cannot be null or empty” 异常的问题。
  • 修复了 DownloadItem.setDestinationFile() 被忽略的回归问题。
  • 修复了轻量级渲染模式下鼠标点击在下拉菜单中被忽略且某些 JavaScript 库(如 Hammer.js)无法识别的问题。此问题在升级到 Chromium 55 后出现。现在,该功能按预期工作。
  • 此更新解决了在 macOS 和 Windows 平台上,在 Swing 和 JavaFX 视图中轻量级渲染模式下的渲染问题。这些渲染问题通常发生在调整 Browser view 大小、显示下拉菜单、处理和创建 Browser 实例,以及在 Windows 平台上的 HiDPI 显示器上。所有这些渲染问题的根本原因都已在此版本中修复。

请发送电子邮件至 customer-care@teamdev.com 以获取 JxBrowser 6.13 的下载链接。