JxBrowser(点击下载)是将基于Chromium的浏览器与Java应用程序集成,以处理和显示HTML5,CSS3,JavaScript,Flash等。java
JxBrowser更新至最新版v7.2,容许针对HTTP和网络错误覆盖标准Chromium错误页面,容许设置不安全的来源视为安全,改进多种功能,修复多项Bug,具体更新状况以下:编程
新增功能
- 自定义错误页面:经过两个新的回调扩展了API,该回调容许针对HTTP和网络错误覆盖标准Chromium错误页面。如下简单示例演示了如何执行此操做:
navigation.set(ShowHttpErrorPageCallback.class, params ->
ShowHttpErrorPageCallback.Response.show(
"HTTP error"));
navigation.set(ShowNetErrorPageCallback.class, params ->
ShowNetErrorPageCallback.Response.show(
"Network error"));
- 网站图标:能够经过Browser.favicon()方法访问当前加载的网页的收藏夹图标。
- 透明背景:可在Browser实例中加载的网页上启用透明背景。要在Browser实例中加载的网页上启用透明背景,请使用如下设置:
browser.settings().enableTransparentBackground();
注意:此功能仅在Windows和Linux的屏幕外渲染模式下有效。在macOS上,它能够在两种渲染模式下工做。
- 将不安全的来源视为安全:能够使用API配置设置被视为安全的不安全来源列表
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(renderingMode)
.treatInsecureOriginAsSecure(
"http://foo.com", "*.foo.*.bar.com")
.build());
- Frame使用如下API 访问已启动下载的实例:
downloads.set(StartDownloadCallback.class, (params, tell) -> {
params.frame().ifPresent(frame -> {});
...
});
- 节点的XPath:该API已经过Node.xPath()方法进行了扩展,该方法容许获取表示节点XPath的字符串。
- 禁止JavaScript访问Cookie:容许document.cookies使用如下代码阻止JavaScript访问属性。
browser.settings().disallowJavaScriptAccessCookies();
改进
- Maven存储库中现已提供用于Swing和JavaFX工件的Javadoc 。
- BrowserView经过该browserView.requestFocus()方法增长了以编程方式请求Swing和JavaFX中的焦点的功能。
- Windows 32位和64位上的全部Chromium二进制文件如今都使用有效的TeamDev签名进行了签名。
- 用于在Windows上提取Chromium二进制文件的内部7zip可执行文件的签名已更新。
Bug修复
- 修复启用隐身模式后清除HTTP磁盘缓存时崩溃。
- 修复java.lang.IllegalStateException建立Browser实例时的错误。
- 修复BeforeSendUploadDataCallback.Params中的空UrlRequest问题。
- 修复当Chromium进程在阻止PRC调用期间终止时,java.lang.NullPointerException错误并冻结。
- 修复建立但未显示JavaFX BrowserView时出现java.lang.NullPointerException错误。
- 修复java.lang.IllegalArgumentException:仅在类路径中包含jxbrowser-win32.jar时,没法在JAR错误中找到/7.1/chromium-win64.7z资源。
- 修复下载后还没有关闭的启动空弹出窗口。
- 修复当BrowserView位于JavaFX Tab中时,将忽略鼠标单击的问题。