2024
- v8.2.0
- 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
发布日期 2024年11月27日
JxBrowser 8.2.0
Chromium 流量
部分客户反映,Chromium 有时会向外部网络服务发送意外请求。我们查明,Chromium 的一些功能,如 Google Cloud Messaging、Translate Ranker、Extensions Updater、Safe Browsing、Spell Checker、Widevine 等,为了正常工作,会向 Google 的外部网络服务(如 https://ssl.gstatic.com 和 https://clients4.google.com)发送请求。
我们理解,任何对外部网络服务的意外请求都可能被视为安全威胁,因此需要加以阻止。对此,我们分析了所有会向外部网络服务发送请求的 Chromium 功能,并确保您可以通过 JxBrowser API 完全控制这些功能。而对于无法通过 API 控制的功能,我们已默认禁用,以防止意外的外部请求。
关于这一改进,我们移除了 disableChromiumTraffic
Engine 选项,因为它已不再需要。
Java Records
现在,您可以将 Java Record(记录类)实例注入到 JavaScript 中,并在 JavaScript 代码中使用它们。
例如,您可以创建以下 Java 记录类,并使用 @JsAccessible
注解标记它,使其可被 JavaScript 访问:
@JsAccessible
public record User(String fullName, String email) {}
您可以创建此类型的实例,并将其像其他 Java 对象一样注入到 JavaScript 代码中:
browser.set(InjectJsCallback.class, params -> {
JsObject window = params.frame().executeJavaScript("window");
window.putProperty("user", new User("John Doe", "john.doe@mail.com"));
return Response.proceed();
});
现在,您可以在 JavaScript 代码中使用注入的 user
对象,并访问其所有自动生成的方法,例如:
console.log(user.fullName());
console.log(user.email());
上下文菜单内容类型
ShowContextMenuCallback.Params
类新增了 contentType()
方法,使您能够更好地了解用户右键点击的网页内容类型。通过此功能,您可以根据内容类型为自定义上下文菜单填充适当的项目:
browser.set(ShowContextMenuCallback.class, (params, tell) -> {
var contentType = params.contentType();
if (contentType.contains(ContextMenuContentType.CONTEXT_MENU_CONTENT_TYPE_COPY)) {
// 有文本被选中,因此您可以在上下文菜单中添加“复制”选项。
}
if (contentType.contains(ContextMenuContentType.CONTEXT_MENU_CONTENT_TYPE_EDITABLE)) {
// 用户对可编辑内容进行了右键点击,因此您可以在上下文菜单中添加“粘贴”选项。
}
tell.close();
});
Chromium 131.0.6778.70
我们已将 Chromium 升级至更新版本,该版本引入了 12 项安全修复,其中包括:
- CVE-2024-11110: Inappropriate implementation in Blink
- CVE-2024-11111: Inappropriate implementation in Autofill
- CVE-2024-11112: Use after free in Media
- CVE-2024-11113: Use after free in Accessibility
- CVE-2024-11117: Inappropriate implementation in FileSystem
有关自上一次 Chromium 升级以来的全部修复和改进列表,请访问以下版本的产品博客文章:
质量优化
- 我们用于从 JxBrowser JAR 文件中提取 Chromium 二进制文件的 7-zip 库已更新至版本 24.08。
- 带有 JxBrowser 版本的
Implementation-Version
属性现已添加到带有 Chromium 二进制文件的 JxBrowser JAR 的MANIFEST.MF
文件中。 - 修复了在 Windows 的硬件加速渲染模式下禁用 GPU 时 HTML select 下拉菜单损坏的问题。
- 修复了在 Windows 的离屏渲染模式下 HTML select 下拉菜单位置不正确的问题。
- 修复了在离屏渲染模式下更改光标时,JavaFX
BrowserView
组件中出现的NullPointerException
错误的问题。 - 修复了 JxBrowser 在 Linux 上未检测到只读目录并尝试提取 Chromium 二进制文件时,导致
java.nio.file.FileSystemException
错误的问题。 - 修复了当 Adobe Acrobat Chrome 扩展程序单击 “Open PDF(打开 PDF)” 按钮,然后单击 “Turn on(启用)” 按钮时,无法在新弹出窗口中打开扩展程序设置页面的问题。由于 JxBrowser 无法加载
chrome://extensions/...
URL,因此会显示ERR_ADDRESS_UNREACHABLE
错误页面。 - 修复了在离屏渲染模式下渲染网页时,JavaFX
BrowserView
组件中出现的java.lang.NullPointerException: Cannot invoke "javafx.scene.image.WritableImage.getPixelWriter()" because "this.image" is null
错误。
下载 JxBrowser 8.2.0
请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。
我们无法发送电子邮件。请使用直接链接下载JxBrowser。
如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。
如果您希望深入了解并体验我们的产品,您可以申请评估许可证。