List icon 目录

发布日期 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.comhttps://clients4.google.com)发送请求。

我们理解,任何对外部网络服务的意外请求都可能被视为安全威胁,因此需要加以阻止。对此,我们分析了所有会向外部网络服务发送请求的 Chromium 功能,并确保您可以通过 JxBrowser API 完全控制这些功能。而对于无法通过 API 控制的功能,我们已默认禁用,以防止意外的外部请求。

关于这一改进,我们移除了 disableChromiumTraffic Engine 选项,因为它已不再需要。

Java Records

现在,您可以将 Java Record(记录类)实例注入到 JavaScript 中,并在 JavaScript 代码中使用它们。

例如,您可以创建以下 Java 记录类,并使用 @JsAccessible 注解标记它,使其可被 JavaScript 访问:

Java
@JsAccessible
public record User(String fullName, String email) {}

您可以创建此类型的实例,并将其像其他 Java 对象一样注入到 JavaScript 代码中:

Java
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 对象,并访问其所有自动生成的方法,例如:

JavaScript
console.log(user.fullName());
console.log(user.email());

上下文菜单内容类型

ShowContextMenuCallback.Params 类新增了 contentType() 方法,使您能够更好地了解用户右键点击的网页内容类型。通过此功能,您可以根据内容类型为自定义上下文菜单填充适当的项目:

Java
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 项安全修复,其中包括:

有关自上一次 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。

如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。

如果您希望深入了解并体验我们的产品,您可以申请评估许可证。

获取免费 30 天体验