JxBrowser(点击下载)是将基于Chromium的浏览器与Java应用程序集成,以处理和显示HTML五、CSS三、JavaScript、Flash等。java
近日,JxBrowser v7.4发布啦,新增支持嵌入来自Netflix、Amazon Prime、Spotify和其余使用DRM解密的平台的视频和音频内容,同时容许将JxBrowser嵌入用于ARM设备的应用程序中,修复多项Bug。如下是具体的更新内容。node
ARM浏览器
- JxBrowser 7.4在Linux 64位上支持ARM体系结构。已在如下环境中进行了测试:
- Raspberry Pi 2(900MHz四核ARM Cortex-A7 CPU)和AWS(AWS Graviton处理器);
- Ubuntu 16.04 LTS和18.04 LTS 64位;
- JDK 8 64位(JRE没有提供GUI),OpenJDK 11(Swing + JavaFX)。
专有功能服务器
- 不须要使用启用的专有编解码器就能够请求播放H.264,MP4和AAC格式的单独* c版本。能够经过API启用专有编解码器,默认状况下将其禁用,以下所示:
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(renderingMode)
.enableProprietaryFeature(ProprietaryFeature.AAC)
.enableProprietaryFeature(ProprietaryFeature.H_264)
.build());
注意:H.264和AAC编解码器是专有组件。经过启用这些编解码器,必须声明您知道H.264和AAC是专有组件,而且应该拥有许可证才能使用它们。
- Widevine的专有组件:容许在Netflix,Amazon Prime,Spotify上播放视频/音频内容,以及使用Widevine分发内容的其余Web服务上的内容。 默认状况下,Widevine组件是禁用的。使用如下代码将其启用:
Engine engine = Engine.newInstance(
EngineOptions.newBuilder(renderingMode)
.enableProprietaryFeature(ProprietaryFeature.WIDEVINE)
.build());
- Windows Server 2019:该库正式支持Windows Server 2019
- 禁用DnD:默认状况下,Swing和JavaFX都启用了拖放功能BrowserView。要禁用拖放,请使用如下新API:
browserView.dragAndDrop().disable();
- DOM属性:DOM API已使用新功能扩展,该功能容许获取元素的属性节点列表。例如:
element.attributeNodes().forEach(attribute ->
System.out.println("name = " + attribute.nodeName()));
改进cookie
- Navigation类已使用browser()方法扩展,该方法容许获取与Navigation相关联的Browser实例。
- 拼写检查器词典将下载到用户数据目录中,而不是Windows上带有Chromium二进制文件的目录中。
- 添加NetError。Web服务器禁止帧嵌入时发生BLOCKED_BY_RESPONSE错误。
- 增长了对Document.visibilityState属性的支持。
- 用于macOS的JxBrowser二进制文件已签名并通过公证,以知足macOS Catalina的要求。
- 该库仅在缺乏Linux时才建立指向系统库的符号连接。
- 容许从标有@JsAccessible批注的方法中引起异常。
- “打印预览”对话框中的“使用系统对话框打印...”操做已恢复,可使用系统打印对话框来打印网页。
- 容许以适当的反应(例如加载并显示删除的文件)将文件(例如图像)拖放到BrowserView中。
Bug修复ide
- 修复向Swing或JavaFX容器中添加和删除BrowserView组件时发生内存泄漏。
- 修复在Linux上闲置约2个小时后,Chromium进程意外终止。
- 带有Java 13的Linux上的java.lang.UnsatisfiedLinkError异常是因为缺乏依赖项引发的。
- 修复因为缺乏语言包,在配置为西班牙语的macOS上,Chromium启动失败。问题。
- 修复将文件从文件系统拖动到具备Java 11及更高版本的macOS上的Swing BrowserView组件中时,出现java.lang.NullPointerException异常。
- 修复对于没有过时时间的会话cookie,返回了无效的cookie过时时间。
- 修复默认状况下,文本查找器向后迭代。
- 修复搜索匹配案例不适用于PDF的问题。
- 修复将Swing BrowserView组件嵌入JTabbedPane容器时,Web内容显示在主屏幕的左上角的问题。
- 硬件加速渲染模式下的JavaFX BrowserView开始分离本机窗口并因为缺乏主要Chromium进程而遇到IllegalStateException时出现的问题。
- 修复在非屏幕渲染模式下在多个显示器之间移动BrowserView时,Chromium引擎发生本机崩溃的问题。
弃用的API测试
- 容许忽略SSL证书错误的CertificateErrorCallback功能已被标记为@deprecated,并将在下一版本中被删除。请改用VerifyCertificateCallback回调,能够在其中告诉引擎无效的SSL证书有效,而且引擎应继续加载资源。