2024
- v7.41.4
- v8.1.0
- v8.0.0
- v7.41.3
- v7.41.2
- v7.41.1
- v7.41.0
- v7.40.0
- v7.39.2
- v7.39.1
- v7.39.0
- v7.38.2
- v7.38.1
- v7.38.0
- v7.37.2
- v7.37.1
2023
- v7.37.0
- v7.36.3
- v7.36.2
- v7.36.1
- v7.36
- v7.35.2
- v7.35.1
- v7.35
- v7.34.1
- v7.34
- v7.33.2
- v7.33.1
- v7.33
- v7.32
- v7.31.1
- v7.31
- v7.30.3
- v7.30.2
- v7.30
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
发布日期 2020年12月15日
JxBrowser 7.12.1
我们很高兴地宣布发布了一个补丁更新,其中包含了多项重要的修复和改进。
改进
在 macOS 上启动 Main Chromium 进程时,现在会跳过
CFProcessPath
环境变量,防止 Chromium 找到其内部资源而导致启动失败。CFProcessPath
环境变量在 macOS 上用于允许将项目拖放到应用程序的 Dock 图标上进行处理,您的 Java 应用程序仍然可以使用它。当加载具有无效 SSL 证书的 HTTPS 网页时,错误页面上不再显示
Advanced
按钮。现在,加载具有无效 SSL 证书的网页的唯一方式是使用下面所示的CertificateErrorCallback
:browser.set(CertificateErrorCallback.class, (params, tell) -> tell.allow());
添加了
jxbrowser.force.dpi.awareness
系统属性。此属性的存在告诉库在启动 Main Chromium 进程之前,当前 Java 进程的 DPI 感知模式应被编程设置为System
。此属性解决了 Java 8u211+ 中的 HiDPI 问题。在 UI 工具包初始化之前创建
Engine
实例时,Java 和 Chromium 进程最终会有不同的 DPI 感知模式。这会导致在 HiDPI 环境中出现渲染问题。原因是从 8u211 开始,Java 不再通过清单强制应用任何 DPI 感知模式。自 8u211 以来,Java 以unaware
模式启动,并在 UI 工具包初始化期间让应用程序通过编程配置 DPI 感知模式。当库运行 Chromium 进程时,它不知道 UI 工具包是否已初始化以及 DPI 感知模式是否已配置。为了在 Java 和 Chromium 进程之间同步模式,了解这一点很重要。为了绕过这个问题,我们决定在设置此属性的情况下以编程方式设置 Java 的 DPI 感知模式。在这种情况下,我们无需知道是否已初始化UI工具包。我们只需设置模式并启动 Chromium 进程,即可确保 Java 和 Chromium 的 DPI 感知模式相同。
现在,如果网页是从 JAR 归档文件中加载的,那么 JavaScript 可以访问
LocalStorage
。在
Engine
初始化期间,Kaspersky 会显示安全警告 “Chromium 正在尝试访问网络摄像头”。我们更新了初始化流程,以便仅当网页请求访问网络摄像头功能时才初始化网络摄像头功能。它允许在Engine
抑制警告对话框。
已修复的问题
- 在加载
http://localhost/any.xml
后加载about:blank
时,Chromium 崩溃。 - 将数据 URI 加载到非主 Frame 时,Chromium 崩溃。
- 如果取消了
IFRAME
内容的加载,则访问IFRAME
的内容文档时,Chromium 崩溃。 - 在 macOS 和 Linux 上打开 RPC 连接时,JVM 崩溃。
- 在 Windows 和 Linux 的离屏渲染模式下,拖动/选择网页内的项目导致 Browser 无响应或 JVM 崩溃。
- 在离屏渲染模式下,将
MouseMoved
事件分发给 Chromium 时,没有传递键盘修饰符,导致 JavaScript 端无法接收到键盘修饰符。 - 在 Windows 的硬件加速渲染模式下,从主 SWT 线程访问当前加载的网页的主 Frame 时,线程死锁。
- 在 Windows 硬件加速渲染模式下显示弹出窗口时,从主 SWT 线程访问当前加载的网页的 URL 时出现线程死锁。
- 在 Windows 硬件加速渲染模式下,关闭
javafx.scene.control.TextInputDialog
后,从主 JavaFX 线程访问 cookies 时出现线程死锁。 - 在 Windows 硬件加速渲染模式下,频繁显示/隐藏 JavaFX
BrowserView
时出现线程死锁。 - 在离屏渲染模式下,JavaScript 中
NumPad
键的键码无效。 - 在 Swing 的硬件加速渲染模式中分发
KeyTyped
事件时,JavaScript 中Enter
、Tab
、Backspace
键的键码无效。 - 在离屏渲染模式下,对于
NumPad
、Left
和Right
键,传递的KeyboardEvent.location
值不正确。 - 当操作系统设置为非默认 DPI 时,弹出窗口的大小和位置计算不正确。
- 无法访问从另一个域加载网页的
IFRAME
的内容文档。 - 使用 JxBrowser DOM 和 JavaScript API 操作不同网页的 DOM 和 JavaScript 对象时,Chromium 渲染进程中的内存泄漏。
- 一旦 SWT
BrowserView
在离屏渲染模式下被隐藏,滚动功能将失效。 - 在 Linux 的硬件加速渲染模式下,嵌入
BrowserView
的 JavaFXStage
隐藏后,Chromium 窗口被销毁。 - 在离屏渲染模式下,JavaFX
BrowserView
会两次分发Enter
事件。 - 在 Linux 上,对于 JavaFX 14 之前的版本,JavaFX
BrowserView
与其他 JavaFX 控件之间的拖放操作在离屏渲染模式下无效。 - 在离屏渲染模式下,使用自定义拖放数据的网页上的拖放功能无法正常工作。
- 在 JavaFX 的离屏渲染模式下,链接和文本的拖放操作在尝试多次时无效。
- 在离屏渲染模式下,JavaFX
BrowserView
在隐藏后再显示时会变黑。 - 在离屏渲染模式下,SWT
BrowserView
中的 HTML 滑块无法正常工作。 - 在抑制前一个弹出窗口后显示的弹出窗口大小不正确。
下载 JxBrowser 7.12.1
请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。
我们无法发送电子邮件。请使用直接链接下载JxBrowser。
如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。
如果您希望深入了解并体验我们的产品,您可以申请评估许可证。