发布日期 2019年12月26日
JxBrowser 7.5
为这个假期的新发布干杯!以下是它带来的内容:
JSON
JxBrowser 7.5 允许你将 JavaScript 对象转换为 JSON 字符串,并从 JSON 字符串获取 JavaScript 对象。例如:
Json json = frame.json();
JsObject jsObject = json.parse("{\"one\":1,\"two\":2}");
String jsObjectJson = json.stringify(jsObject);
动态 Favicons
此版本扩展了获取当前加载网页的 favicon 的功能,该功能在 7.2 版本中引入。由于某些网页会动态更改它们的 favicon,我们决定让 JxBrowser 能够在加载的网页上的 favicon 更改时收到通知。操作方法如下:
browser.on(FaviconChanged.class, event -> {
Bitmap newFavicon = event.favicon();
});
DOM API
在 7.5 版本中,我们扩展了 DOM API,新增了以下在 JxBrowser 6 中已有的方法:
Element.scrollIntoView(AlignTo alignTo)
Node.compareDocumentPosition(Node otherNode)
渲染进程 PID
此版本包含 RenderProcess
API 和功能,允许获取运行 Frame
的渲染进程的 PID。例如:
frame.renderProcess().pid();
导航
Navigation
类现在具有 browser()
方法,允许获取 Navigation
实例的 Browser
实例。
导航事件
NavigationStarted
和 NavigationFinished
事件现在具有 isInMainFrame()
方法,该方法指示导航是否在主 Frame 中进行。
UrlRequest 的 IP 地址
ReceiveHeadersCallback.Params
类已扩展 ipAddress()
方法,该方法允许获取 UrlRequest
的 IP 地址。
改进
- 该版本在处理 DOM 和 JavaScript 对象时性能更佳。
- 现在,所有敏感信息,如键盘和鼠标输入、密码等,都不会在调试日志消息中打印。
- 在
DefaultStartDownloadCallback
中显示的文件保存对话框,现在对 Swing 和 JavaFX 实现都是模态的。 Navigation.loadUrlAndWait()
方法现在可以处理当前加载网页内部的导航(例如,导航到内部 # 链接)。- 所有 Windows 32 位和 64 位的 Chromium 二进制文件都带有有效的 TeamDev 授权签名。
已修复的问题
- 在硬件加速渲染模式下,当移除另一个
BrowserView
并关闭其Browser
后,聚焦BrowserView
时出现IllegalStateException
错误。 - 在离屏渲染模式下,访问加载的网页上的功能(例如播放 HTML5 视频)期间出现线程死锁。
- 在 Windows 系统的离屏渲染模式下关闭 Print Preview(打印预览)对话框时发生线程死锁。
- 在 Windows 系统的硬件加速渲染模式下调整
BrowserView
大小时,由于宽度和高度为负值而导致的IllegalArgumentException
错误。 - 当关闭
Browser
实例,如果其Engine
仍然存活时,会导致内存泄漏。 - 从容器中移除
BrowserView
组件时,会导致内存泄漏。 - 在 macOS 上,调整
BrowserView
大小时,Chromium 的 GPU 进程中会出现内存泄漏。根本原因是两种渲染模式下都未释放 Mach 端口。此泄漏可能导致系统重启,特别是当所有可用端口都被占用时。 - 当
XPathResult. asSnapshotNodes()
方法应返回空集合时抛出XPathException
错误。 - 当
Document
实例属于IFRAME
时,Document.frame()
方法会返回错误的Frame
。 - 在
ReceiveHeadersCallback
中重写 HTTP 标头时,CanGetCookiesCallback
回调未从 Web 服务器接收到预期的 Cookie。 - 当将 Swing
BrowserView
组件嵌入到JTabbedPane
容器中时,Web 内容会显示在主屏幕的左上角。
下载 JxBrowser 7.5
请提供您的电子邮箱地址,我们会尽快将下载说明发送给您。
我们无法发送电子邮件。请使用直接链接下载JxBrowser。
如果您已经是我们的注册客户,您无需任何操作,即可轻松享受此次更新。
如果您希望深入了解并体验我们的产品,您可以申请评估许可证。
关注 @JxBrowserTeam ,获取库的更新动态。
订阅我们的 RSS feed ,获取最新版本动态。