2024
- 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
发布日期 2015年12月14日
JxBrowser 6.0
本页将引导您了解 JxBrowser 6.0 中的主要新功能和改进。
GPU 加速渲染
除了标准的轻量级(离屏)渲染模式外,现在 JxBrowser 还支持重量级(窗口化、GPU 加速)渲染模式。这两种模式的区别描述如下。
在轻量级渲染模式下,Chromium Engine 使用 CPU 离屏渲染网页。网页的图像保存在共享内存中。JxBrowser 从共享内存中读取图像,并使用标准的 Java Graphics 2D API 显示它。如果你需要一个真正轻量级的 Swing/JavaFX 组件来显示现代 HTML5/JavaScript/CSS 网页,这种方法效果很好。
要使用轻量级渲染模式创建 Browser
实例,可以使用以下代码:
Browser browser = new Browser(BrowserType.LIGHTWEIGHT);
在 JxBrowser 6 中默认采用的重量级渲染模式下,我们将本机窗口嵌入 Java 框架并配置 Chromium Engine 以使用 GPU 将内容渲染到此本机窗口中。在这种情况下,GPU 加速渲染比轻量级渲染模式要快得多。在此模式下,渲染性能与 Google Chrome 相同,允许以 60fps 的速度显示全屏视频。
要使用重量级渲染模式创建 Browser
实例,请使用以下代码:
Browser browser = new Browser();
Browser browser = new Browser(BrowserType.HEAVYWEIGHT);
JavaScript-Java bridge
性能
Java 和 JavaScript 之间的数据传输现在快了约 10 倍。
JSArray 与 JSDictionary
在 JxBrowser 6 中,JavaScript-Java Bridge API 允许从 JavaScript 向 Java 代码传输数组和词典,反之亦然。以下示例演示了如何使用 JSArray:
browser.registerFunction("MyFunction", new BrowserFunction() {
public JSValue invoke(JSValue... args) {
// 返回 ['Str', 123, true] 数组
List array = new ArrayList();
array.add("Str");
array.add(123);
array.add(true);
return JSValue.create(array);
}
});
Proxy API
JxBrowser 6 中的 Proxy API 已得到改进。现在它支持 HTTP、HTTPS、FTP 和 SOCKS 协议。以下示例演示了如何使用更新后的 Proxy API:
String proxyRules = "http=foo:80;https=foo:80;ftp=foo:80;socks=foo:80";
String exceptions = "<local>"; // 绕过本地网页的代理服务器
contextParams.setProxyConfig(new CustomProxyConfig(proxyRules, exceptions));
BrowserContextParams contextParams = new BrowserContextParams("chromium-data-dir");
Browser browser = new Browser(new BrowserContext(contextParams));
CJK 输入
在 Mac OS X 和 Windows 上启用重量级模式后,JxBrowser 组件现在允许 CJK 输入,与 Google Chrome 类似。这种输入默认是启用的。
完整的更改和改进列表
- 添加了重量级 GPU 加速渲染模式。
- 添加了对 Citrix 环境的支持。
- 添加了代理功能中对 SOCKS 协议的支持。
- 添加了对 Maven 项目的支持。请参见有关如何在 Maven 项目中使用 JxBrowser 的说明。
- 在 JavaScript Java Bridge API 中添加了 JSArray 和 JSDictionary 类型。
- 改进了 JavaScript Java Bridge 的性能。现在速度快了约 10 倍。
- 添加了通过 JavaScript Java Bridge 将 JSON 字符串传递到 JavaScript 端的支持。
- 实现了
NetworkDelegate.onPACScriptError()
事件。 - 实现了对 Windows 和 Mac 上无障碍功能的支持 [heavyweight, swing, javafx]。
- 添加了对 Windows 和 Mac 上的 CJK 输入的支持 [heavyweight, swing, javafx]。
- 添加了对
--disable-direct-write
切换器的支持 [heavyweight]。 - 实现了对 SWT 环境的支持 [heavyweight, swing, javafx]。
- 修复了在 Mac 上丢失移动光标的问题 [lightweight, swing, javafx]。
- 修复了在 Mac 上错误的按键代码问题 [lightweight, swing, javafx]。
- 修复了 cursors.properties 文件中光标名称错误的问题 [lightweight, swing, javafx]。
- 修复了自定义光标位置错误的问题 [lightweight, swing]。
- 修复了
DOMEventListener
中目标不正确的问题。 - 修复了 vimeo.com 上的视频无法播放的问题。
- 修复了在按下 Alt 键时仍然可以输入文本的问题 [lightweight]。
- 修复了页数为 0 时打印为 PDF 失败的问题。
- 修复了关闭 PDF 文档弹出窗口导致崩溃的问题 [heavyweight, swing, javafx]。
- 修复了点击
BrowserView
控件时菜单项未关闭的问题 [heavyweight, swing, javafx]。 - 修复了
Browser
显示默认 SSL 证书对话框时的死锁问题 [heavyweight, swing, javafx]。 - 修复了无法为多个
Browser
实例配置各自代理设置的问题。 - 修复了在 Mac 上使用 JxBrowser 的 Java Applet 时出现的
NoSuchMethodException
问题 [heavyweight, lightweight, swing, javafx]。 - 修复了
BrowserPreferences.getDefaultAcceptLanguage()
方法中的NullPointerException
问题。 - 默认情况下,Chromium UI 语言配置与 Java UI 语言一致。
- JAR 清单文件中的 Trusted-Library 属性已被移除。
- 在 Windows 上已禁用
debug.log
文件生成。 - 在 Linux 上添加了
libcrypto.so.1.0.0
的符号链接。 - 在 Windows 上,如果 Chromium 进程发生本地崩溃,库会生成
jxbrowser-chromium.dmp
文件,并将其存储在%localappdata%\JxBrowser
目录中,例如c:\users\<username>\appdata\local\JxBrowser\jxbrowser-chromium.dmp
。
请发送电子邮件至 customer-care@teamdev.com 以获取 JxBrowser 6.0 的下载链接。