发布日期 2016年5月12日
JxBrowser 6.4
Chromium 49
JxBrowser 6.4 基于 Chromium 49.0.2623.110 版本。 这很棒,因为除了与最新的网络标准普遍兼容外,此 Chromium Engine 还解决了一些在之前版本中难以实现的棘手任务,比如在 Linux 平台上显示 WebGL 内容和启用音频 RTP 流的输入。此外,在 Chromium 49 中,PDF 查看器的 UI 得到了更新,所以现在在 JxBrowser 中显示 PDF 文档时,您可以享受新的外观体验。
插件支持
这次也有一些重大变化。在这个 Chromium 构建中,NPAPI 插件的支持已经被完全移除。现在,NPAPI 插件,如 Microsoft Silverlight、Java Applets 等,不再受支持。--enable-npapi
这个 Chromium 切换开关也不再起作用。PPAPI 插件,如 Adobe Flash,在这个 Chromium 构建中运行良好。所以,如果您必须使用 NPAPI 插件,我们建议您坚持使用 JxBrowser 6.4 及之前的版本。
关于操作系统支持的进一步计划
Chromium 团队宣布 从 Chromium 50 开始,不再支持 Windows XP、Windows Vista 以及 Mac OS X 10.6、10.7 和 10.8,因为这些平台已经不再受到 Microsoft 和 Apple 的支持。因此,我们在此提前告知您相关信息,当我们基于 Chromium 50 或更高版本的更新准备就绪时,这些平台也将被放弃。
功能与改进
- 已增加对 Linux 上 WebGL 的支持。在之前的 JxBrowser 版本中,WebGL 在 Linux 平台上无法工作,因为 Chromium 没有启动 GPU 进程来渲染 WebGL 内容。自从我们升级到 Chromium 49 后,WebGL 已在 Linux 平台上按预期工作。
- 在基于 Chromium 43 的 JxBrowser 版本中,音频 RTP 流的输入支持存在问题,无法正常工作。但在 Chromium 43 之前的版本和 Chromium 49 中,这个问题并不存在。因此,现在 JxBrowser 已正式支持音频 RTP 流输入。
以下是一些问题,但这些问题不再影响您的开发过程。
- 当用户已经在文本区域中输入内容时,占位符文本会保持可见。很高兴地告诉您,这个问题在新版本中已经解决。
- 当调整 PDF 查看器窗口大小时,会显示一个令人意外的黑色矩形,而不是滚动条。此问题仅在 Windows 8.1 及更高版本上重现。升级到 Chromium 49 可修复此问题。
- 右键单击 PDF 文档时,您将不会看到
IllegalArgumentException
错误。 - Chromium 渲染器进程中不再发生本机崩溃,至少当您的应用通过 ID 字符串找到带有单引号的 DOM HTML 元素时不会发生。问题出在 WebKit DOM 功能无法处理这种情况。我们对 WebKit 源代码应用了几个补丁来修复此问题。
- 您没有安装打印机设备?这不是 Linux 上打印功能失败的原因。现在,如果没有可用的打印机设备,我们根本不会要求 Chromium Engine 打印网页。要使用打印机打印网页,必须安装至少一个打印机设备。
- JavaScript-Java Bridge 中的死锁曾经在几种情况下发生。例如,在加载 XML 文档并在
ScriptContextListener.onScriptContextCreated(ScriptContextEvent event)
方法中执行 JavaScript 代码时。如果在 XML 文档中执行 JavaScript 代码,该代码将在一个独立的 JavaScript 环境中执行。因此,ScriptContextListener.onScriptContextCreated(ScriptContextEvent event)
方法会再次被调用,并且代码会在同步的Browser.executeJavaScriptAndReturnValue()
方法中被阻塞。为了解决这个问题,我们在 JxBrowser IPC(进程间通信)功能中启用了重入性支持,并修改了Browser.executeJavaScriptAndReturnValue()
方法中的同步逻辑。 BrowserView
现在保留其焦点上下文,即使在显示/隐藏上下文菜单后也是如此,因此用户在关闭上下文菜单后仍可以在文本字段中正常输入文本。此问题已通过在显示/隐藏上下文菜单时更新焦点上下文信息得到了修复。- 在多线程环境中,我们曾经遇到过来自 JxBrowser JNI 代码的
"Deadlock in safepoint code"
错误。为了解决这个问题,我们确保在同一线程中创建和访问 JNIEnv 变量。
请发送电子邮件至 customer-care@teamdev.com 以获取 JxBrowser 6.4 的下载链接。