Java程序&Chromium浏览器集成控件JxBrowser v7.4上新!支持ARM体系结构

久未见 提交于 2019-12-04 16:43:21

JxBrowser(点击下载是将基于Chromium的浏览器与Java应用程序集成,以处理和显示HTML5、CSS3、JavaScript、Flash等。

近日,JxBrowser v7.4发布啦,新增支持嵌入来自Netflix、Amazon Prime、Spotify和其他使用DRM解密的平台的视频和音频内容,同时允许将JxBrowser嵌入用于ARM设备的应用程序中,修复多项Bug。以下是具体的更新内容。

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()));

改进

  • Navigation类已使用browser()方法扩展,该方法允许获取与Navigation相关联的Browser实例。
  • 拼写检查器词典将下载到用户数据目录中,而不是Windows上带有Chromium二进制文件的目录中。
  • 添加NetError。Web服务器禁止帧嵌入时发生BLOCKED_BY_RESPONSE错误。
  • 增加了对Document.visibilityState属性的支持。
  • 用于macOS的JxBrowser二进制文件已签名并经过公证,以满足macOS Catalina的要求。
  • 该库仅在缺少Linux时才创建指向系统库的符号链接。
  • 允许从标有@JsAccessible批注的方法中引发异常。
  • “打印预览”对话框中的“使用系统对话框打印...”操作已恢复,可以使用系统打印对话框来打印网页。
  • 允许以适当的反应(例如加载并显示删除的文件)将文件(例如图像)拖放到BrowserView中。

Bug修复

  • 修复向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证书有效,并且引擎应继续加载资源。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!