发布日期 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...)
方法设置文件时,不会触发 DOMchange
事件。 - 当
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。
如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。
如果您希望深入了解并体验我们的产品,您可以申请评估许可证。
关注 @JxBrowserTeam ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。