List icon 目录

发布日期 2017年9月14日

JxBrowser 6.15

JxBrowser 6.15 已集成 Chromium 60.0.3112.113 版本!

新版本还列出了一些很酷的新功能和重要改进。以下是更改内容的详细记录:

Chromium 60

Chromium Engine 已升级至 60.0.3112.113 版本。这意味着 WebGL 2.0 的支持已自动启用。

由于 Chromium Engine 的升级,支持的平台列表也发生了变化。前段时间,Chromium 团队宣布他们将在 2016 年 3 月初结束对 32 位 Linux、Ubuntu Precise (12.04) 和 Debian 7 (wheezy) 的支持。

随着 Chromium 升级到版本 60,我们停止了对 Ubuntu Precise (12.04)、Debian 7 (wheezy) 的 32 位和 64 位版本,以及所有 32 位 Linux 发行版的支持。现在,JxBrowser 仅支持 64 位 Linux。

DOMNode.getXPath()

已经实现了 DOMNode.getXPath() 方法,该方法允许获取给定 DOMNode 的 XPath。使用方法非常简单:

browser.addLoadListener(new LoadAdapter() {
    @Override
    public void onFinishLoadingFrame(FinishLoadingEvent event) {
        DOMDocument document = event.getBrowser().getDocument();
        DOMNode root = document.findElement(By.id("root"));
        System.out.println(root.getXPath());
    }
});
browser.loadHTML("<html><body><div id='root'></div></body></html>");

此示例代码会产生以下控制台输出:

/html/body/div[@id="root"]

Browser.setUserAgent(String userAgent)

添加了 Browser.setUserAgent(String userAgent) 方法。它允许在运行时更改用户代理字符串,而无需重新创建 Browser 实例。

browser.setUserAgent("我的新用户代理");

Browser.setAcceptLanguage(String acceptLanguage)

添加了 Browser.setAcceptLanguage(String acceptLanguage) 方法。它允许在运行时更改接受语言字符串。

ProxyService

JxBrowser 现在提供了一个期待已久的功能,允许在运行时修改代理设置。现在,您可以为特定的 BrowserContext 实例更改代理设置。新的代理配置将自动应用于与该 BrowserContext 相关联的所有 Browser 实例。

以下示例演示了如何使用新的 API:

...
BrowserContext browserContext = browser.getContext();
ProxyService proxyService = browserContext.getProxyService();
proxyService.setProxyConfig(new CustomProxyConfig("http=foopy:80"));

<input> accept 属性

添加了 FileChooserParams.getAcceptableExtensions() 方法。该方法返回 HTML &lt;input&gt; 的 accept 属性值。JavaFX 和 Swing 的 DialogHandler 接口的默认实现已更新,以支持此属性,并根据给定的扩展名在对话框中过滤文件。

捏合缩放

现在可以使用 --disable-pinch 开关来禁用 macOS 上使用触控板时的捏合缩放功能。此功能仅由 JxBrowser 支持。Google Chrome 不允许在 macOS 上使用触控板时禁用捏合缩放。

改进

  • Windows 上的启动时间减少了。
  • 移除了即使在 macOS 上禁用日志记录时仍会打印到控制台输出的额外日志消息。

已修复的问题

  • JavaScript 鼠标事件监听器接收到错误的鼠标按钮。
  • 在销毁 Browser 时,DialogHandler.onBeforeUnload() 方法未被调用。
  • 默认 BrowserContext 实例始终在用户的临时目录中创建空目录。
  • 内部逻辑中抛出 RejectedExecutionException 异常。
  • OnPaint 消息反序列化存在内部问题。

请发送电子邮件至 customer-care@teamdev.com 以获取 JxBrowser 6.15 的下载链接。