List icon 目录

发布日期 2017年10月5日

JxBrowser 6.16

JxBrowser 6.16 具有扩展的 DOM API、启用和禁用表单自动填充建议的功能以及提供自定义 HTTP 状态代码的方法。此版本还支持两个新的 macOS 和 Ubuntu 平台。

macOS 10.13 High Sierra

JxBrowser 6.16 现已正式支持 macOS 10.13 High Sierra。在此操作系统中的测试证实了库的所有功能均按预期运行。

Ubuntu 17.04 Desktop

我们还增加了对 Ubuntu 17.04 Desktop 的支持。要在 Ubuntu 17.04 上运行 JxBrowser,您只需安装 Chromium 60 所需的缺失系统库 libgconf-2.so.4,该库在 Ubuntu 17.04 中默认未安装。此库的 Ubuntu 软件包为 libgconf-2-4

sudo apt-get install libgconf-2-4

DOMNode.compareDocumentPosition()

DOMNode.compareDocumentPosition() 方法允许您将当前 Node 的位置与 DOM 树中的另一个 Node 进行比较:

browser.addLoadListener(new LoadAdapter() {
    @Override
    public void onFinishLoadingFrame(FinishLoadingEvent event) {
        if (event.isMainFrame()) {
            DOMDocument document = event.getBrowser().getDocument();
            DOMElement sourceNode = document.findElement(By.id("div1"));
            DOMElement targetNode = document.findElement(By.id("div2"));
            DOMNodePosition targetNodePosition = sourceNode.compareDocumentPosition(targetNode);
            System.out.println(targetNodePosition); // FOLLOWING
        }
    }
});

browser.loadHTML("<html>"
                + "<body>"
                + "<div id='div1'></div>"
                + "<div id='div2'></div>"
                + "</body>"
                + "</html>");

DOMDocument.getBaseURI()

DOMDocument.getBaseURI() 方法返回当前文档的基本 URI:

browser.addLoadListener(new LoadAdapter() {
    @Override
    public void onFinishLoadingFrame(FinishLoadingEvent event) {
        if (event.isMainFrame()) {
            DOMDocument document = event.getBrowser().getDocument();
            String baseURI = document.getBaseURI();
            System.out.println(baseURI); // https://teamdev.com/
        }
    }
});

browser.loadHTML("<html>"
                + "<head>"
                + "<base href='https://teamdev.com/'>"
                + "</head>"
                + "</html>");

启用/禁用表单自动填充建议

现在,您可以像下面这样简单地启用/禁用显示带有表单自动填充建议的弹出窗口:

browser.getContext().getAutofillService().setEnabled(false);

自定义 HTTP 状态码

现在,您可以在从 ProtocolHandler 返回的响应中提供一个自定义的 HTTP 状态码:

URLResponse response = new URLResponse();
response.setStatus(HttpStatus.from(111));

改进

  • 打印选项的文档已扩展,增加了在打印到 PDF 时被忽略的设置的信息。

已修复的问题

  • 当 JxBrowser 同时运行两次时,二进制文件验证出现问题。
  • 在 macOS 的区分大小写文件系统上,使用某些语言环境(如 zh_cn)时出现本机崩溃。
  • 在 macOS 上解析 X509 证书。
  • 在 OSGi 环境中出现 NoClassDefFoundError 错误。
  • 更新 Browser 首选项时出现问题,导致无法触发输入事件。

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