List icon 目录

发布日期 2020年7月16日

JxBrowser 7.9

我们很高兴地宣布全新的 JxBrowser 7.9 发布啦,此版本带来了多项新功能以及大量修复和改进!

禁用 PDF 查看器

此版本的 JxBrowser 允许禁用内置的 Chromium PDF 查看器。如果您希望下载 PDF 文档而不是在 PDF 查看器中显示它们,可以禁用 PDF 查看器。以下示例演示了如何操作:

engine.plugins().settings().disablePdfViewer();

清除 HTTP 缓存

现在,您可以标记存储在磁盘和内存中的所有 HTTP 缓存条目以供删除。以下示例展示了如何清除所有 HTTP 缓存条目并等待这些条目被标记为待删除:

httpCache.clear().join();

重要HttpCache.clearDiskCache(Runnable) 方法已被标记为 @deprecated,并将在未来的某个版本中移除。请改用 HttpCache.clear() 方法。

滚动历史导航

JxBrowser 现在允许在触摸屏设备上通过左/右滑动来后退/前进导航。默认情况下,滚动导航是禁用的。您可以按如下方式启用它:

browser.settings().enableOverscrollHistoryNavigation();

改进

  • 在导航到 localhost:<port> 的 DevTools URL 时,从可检查页面列表中移除了 about:blank 网页。
  • 移除了 macOS 上 BrowserView 组件的最小尺寸限制,并允许将该组件调整至可能的最小尺寸。
  • 现在,在 JavaFX 应用程序中不再需要像以前那样在不同线程中关闭 Engine。因此,以下方法不再需要
    private static void close(Engine engine) {
        if (isMac()) {
            // 在 macOS 上,必须在 UI 线程中关闭 engine。
            engine.close();
        } else {
            // 在 Windows 和 Linux 上,必须在非 UI 线程中关闭 engine。
            new Thread(engine::close).start();
        }
    }
    

已修复的问题

  • 当点击带有 rel='noopener noreferrer' 属性的链接时,OpenPopupCallback 从未被调用,因此弹出窗口从未显示。
  • 当将 JavaFX BrowserView 嵌入 javafx.scene.control.Alert 对话框中时,出现 java.lang.NullPointerException 错误。
  • 如果在数据拖放前隐藏 BrowserView,Swing 拖放事件将被阻止。
  • 当下载多个文件时显示请求权限对话框。
  • 在 Linux 的硬件加速渲染模式下,将 Swing BrowserView 停靠/取消停靠到 NetBeans 11 窗口时,Chromium GPU 会崩溃。
  • 当将 Swing BrowserView 嵌入到 JTabbedPane 并调整选项卡面板大小时,BrowserView 的大小调整不正确。
  • 关闭包含至少一个嵌入式 BrowserView 的 Java 窗口会导致在 Windows 上离屏渲染模式下的所有 Browser 实例意外关闭。
  • 在 Linux 系统的离屏渲染模式下调用 Browser.bitmap() 会导致程序冻结。
  • 在 Windows 上,在禁用 GPU 并启用透明背景的离屏渲染模式下,BrowserView 组件会短时间显示带有最小化、最大化和关闭按钮的窗口标题。
  • 使用 InputElement.file(String...) 方法设置文件时,网页表单无法提交。
  • 通过 InputElement.file(String...) 方法设置文件时,不会触发 DOM change 事件。
  • IFRAME 内的导航因 X-Frame-Options: sameorigin HTTP 标头而失败时,不会触发带有 BLOCKED_BY_RESPONSE 错误的 FrameLoadFailed 事件。
  • 在 Windows 7 和 Windows Server 2008 R2 的离屏渲染模式下,第一个加载的网页无法渲染。
  • 在离屏渲染模式下,如果网页在对应的 Browser 实例中已经完全加载后,JavaFX 的 BrowserView 才变为可见,那么首次加载的网页将不会在 BrowserView 中显示渲染内容。
  • 当 SWT BrowserView 对应的 Browser 实例已经关闭时,失去焦点会导致 java.lang.IllegalStateException 错误。
  • 在 Windows 上的硬件加速渲染模式下显示多个弹出窗口时会导致线程死锁。
  • UrlRequest 在完成和销毁时没有 ID。
  • 在导航历史列表中进行前进/后退操作时不会触发 TitleChanged 事件。
  • 在 Linux 的全屏模式和硬件加速渲染模式下出现单像素的白线。
  • 在离屏渲染模式下,当在文本字段中按 Enter 键时,网页上的 Angular 无法接收所需的 DOM 事件。
  • 在 Windows 的离屏渲染模式下启用透明背景时,由于库没有刷新 HTML 画布,导致 JavaScript 动画无法正常运行。
  • 在 macOS 上,当连接到远程调试 URL 时,触摸板点击会导致 Engine 崩溃。
  • 在 Windows 的硬件加速渲染模式下无法显示工具提示。
  • 异步销毁 SWT BrowserView 时出现 IllegalStateException 错误。
  • 在 macOS 上,当鼠标指针悬停在 JavaFX BrowserView 上时,按下 Cmd+Q 会出现 IllegalStateException 错误。
  • 在销毁另一个 SWT 组件的过程中关闭 Browser 时,会出现线程死锁。
  • 在 macOS 上使用 JavaFX BrowserView 时,Command 键不会传递到网页。

下载 JxBrowser 7.9

请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。

发送...
请检查您的收件箱。

我们无法发送电子邮件。请使用直接链接下载JxBrowser。

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

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

获取免费 30 天体验