发布日期 2017年1月28日
JxBrowser 6.13
JxBrowser 6.13 包含多项新功能,例如允许以编程方式触发 DOM 事件和配置 WebRTC IP 处理策略的功能。我们还通过实现用户请求的修复来不断改进该库。
创建和分发 DOM 事件
在此版本中,JxBrowser 的 DOM 事件 API 扩展了新的方法和类,允许在指定的 HTML 元素上创建和触发 DOM 事件。从 v6.13 开始,JxBrowser 支持 Event
、UIEvent
、MouseEvent
和 KeyEvent 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 的下载链接。
关注 @JxBrowserTeam ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。